计算pandas数据帧中特定值的数量

时间:2016-07-11 18:29:06

标签: pandas dataframe

我必须计算“不”的数量。在数据框中,将该计数添加到名为' count'。

的单独列中

例如:

 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)

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

使用sum,因为boolean mask已转换为int

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