如何在Pandas DataFrame中筛选value1与value2不相等的行
解决方法
你用drop_duplicates是用来移除重复行的,和你要的同一行里value1与value2不相等的需求完全不匹配,直接用布尔索引筛选就行:
- 基础用法(适用于无缺失值的情况):
result_df = df[df['value1'] != df['value2']]
- 处理含缺失值的场景:
如果数据里存在NaN,!=会自动排除包含NaN的行。要是想保留这些行,用ne方法(等价于!=但能正确处理缺失值):
result_df = df[df['value1'].ne(df['value2'])]
如果只想保留value1和value2都不为空且不相等的行,就再加非空判断:
result_df = df[(df['value1'] != df['value2']) & df['value1'].notna() & df['value2'].notna()]
内容的提问来源于stack exchange,提问作者SMar3552
相关产品推荐
相关产品推荐

