python - Pandas - 比较列,当它们不匹配时以及其中一列显示 "Column not found"时返回 False

标签 python pandas

我正在使用 Pandas 比较两列。

Pre_Out_df[res_name] = Pre_Out_df[plain_col] == Pre_Out_df[b_col]

上面的代码返回 false。

但是当 Plain_col 和 b_col 之间的任何一个值显示“未找到列”时,我希望代码返回 false。

我想在下面的 df 中的最后一个案例中返回 false,

enter image description here

最佳答案

改用此条件,检查 plain_colres_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/

相关文章:

python - 如何在列表的间隔之间填充元素

python - 如何对我的函数进行数值(有效)积分和绘图?

python - 将 block 矩阵的每个 block 与 NumPy 中的不同系数相乘

python - 为什么我的冷却时间在 python/pygame 中不起作用?

python - sklearn 管道中用于分类的图像数组 - ValueError : setting an array element with a sequence

python - 如何在数据帧上一项一项地迭代?

python - 用 Pandas 解析多个 .tsv - 高效的索引和解析?

python - 如何监控 networkx 图创建的状态?

python - Pandas:从 DataFrame 中的列表中获取值

python - 将多列组合为单个日期时间的最佳方法是什么