我必须计算“不”的数量。在数据框中,将该计数添加到名为' 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)
任何帮助都将不胜感激。
答案 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