我正在使用 Pandas 比较两列。
Pre_Out_df[res_name] = Pre_Out_df[plain_col] == Pre_Out_df[b_col]
上面的代码返回 false。
但是当 Plain_col 和 b_col 之间的任何一个值显示“未找到列”时,我希望代码返回 false。
我想在下面的 df 中的最后一个案例中返回 false,
最佳答案
改用此条件,检查 plain_col
和 res_name
是否相同 AND
如果 res_name
为 未找到
。理想情况下,我们需要检查它们中的任何一个是否Not Found
,但由于我们已经检查了它们是否相同,因此检查其中一个(在本例中是res_name
)。
((df['res_name'] == df['plain_col']) & (df['res_name'] != '未找到'))
示例:
df = pd.DataFrame({
'res_name': [1,2,'Not Found'],
'plain_col': [1,2,'Not Found']
})
df 的输出:
res_name plain_col
0 1 1
1 2 2
2 Not Found Not Found
然后是下面的代码:
((df['res_name'] == df['plain_col']) & (df['res_name'] != 'Not Found'))
输出:
0 True
1 True
2 False
dtype: bool
关于python - Pandas - 比较列,当它们不匹配时以及其中一列显示 "Column not found"时返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54482939/