2017-10-12 3 views
1

하나의 숫자를 얻는 데 익숙해 져서 코드의 조건에 대해 둘 중 어느 경우에도 TRUE가 얼마나 많은지를 알 수있었습니다. 그러나 conda update all을 사용 했으므로 이제 0 또는 1 값 목록을 얻습니다. 이제이 작업을 수행하기 위해 팬더에서 가장 간단한 방법이 무엇인지 궁금합니다. 나는 이것이 팬더 업데이트라고 생각합니다. Google 검색을했는데 부울 인덱스를 변경 한 것을 찾지 못했습니다. 이 불리언 값의 합을 얻는 가장 쉬운 방법은 무엇입니까? (나는 그것을 얻는 방법을 알고 있지만,이 추가 단계가 필요하다는 것을 상상할 수는 없습니다).팬더 부울 선택 업데이트?

import pandas as pd 
import numpy as np 

x = np.random.randint(10,size=10) 
y = np.random.randint(10,size=10) 
d ={} 
d['x'] = x 
d['y'] = y 
df = pd.DataFrame(d) 
sum([df['x']>=6] or [df['y']<=3]) 

답변

3

당신은 벡터화 또는 | 사용할 필요가 :

(df.x.ge(6) | df.y.le(3)).sum() 
# 9 

또는 : ((df.y <= 3) | (df.x >= 6)).sum(), sum((df.y <= 3) | (df.x >= 6))을.