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 
関連する問題