我的数据框有"是"满足条件时,"否"什么时候不是。现在,我想检索所有包含" No"在它。
我尝试使用此代码:
df2 = df[df['Logs'].astype(str).str.contains('No')]
df3 = df[df['Jobs'].astype(str).str.contains('No')]
df4 = df[df['Performance'].astype(str).str.contains('No')]
df5 = df2 | df3 | df4
我收到错误"不支持的操作数类型"。
例如:
MachineName Logs Jobs Performance
121 Yes No Yes
122 Yes Yes Yes
123 Yes No No
125 Yes Yes Yes
126 No No No
输出:
MachineName Logs Jobs Performance
121 Yes No Yes
123 Yes No No
126 No No No
答案 0 :(得分:2)
对要成为'No'
的所有列执行相等检查,然后使用any
获取布尔数组。
condition = (df[['Logs', 'Jobs', 'Performance']] == 'No').any(axis=1)
df2 = df[condition]
结果输出符合预期:
MachineName Logs Jobs Performance
0 121 Yes No Yes
2 123 Yes No No
4 126 No No No