2016-07-11 4 views
-2

데이터 프레임에서 '아니오'의 수를 계산하고 '카운트'라는 별도의 열에 추가해야합니다. 예를 들어팬더 데이터 프레임의 특정 값 수를 계산하십시오.

:

MachineName Logs Jobs Performance 
121   Yes No  Yes 
123   Yes No  No 
126   No  No  No 

출력 :

MachineName Logs Jobs Performance Count 
121   Yes No  Yes   1 
123   Yes No  No   2   
126   No  No  No   3 

나는 다음 코드를 시도했지만 예상대로 실행되지 않습니다.

condition = (df[['Logs','Jobs','Performance']] == 'No').any(axis=0) 

어떤 도움을 주시면 감사하겠습니다.

+0

가능한 중복 팬더 데이터 프레임] (http://stackoverflow.com/questions/38311665/filtering-all-rows-based-on-a-specific-value-in-pandas-dataframe) – ayhan

답변

1

사용 sumboolean maskint로 변환되기 때문에 :

df['Count'] = (df[['Logs','Jobs','Performance']] == 'No').sum(axis=1) 

print (df) 
    MachineName Logs Jobs Performance Count 
0   121 Yes No   Yes  1 
1   123 Yes No   No  2 
2   126 No No   No  3 

첫번째없이 모든 열을 선택과 또 다른 해결책 iloc 기준 : [특정 값에 따라 모든 행을 필터링의

df['Count'] = (df.iloc[:,1:] == 'No').sum(axis=1) 
print (df) 
    MachineName Logs Jobs Performance Count 
0   121 Yes No   Yes  1 
1   123 Yes No   No  2 
2   126 No No   No  3 
관련 문제