tra*_*mot 5 python dataframe pandas
我在熊猫数据框中有两列应该是相同的。每列都有许多 NaN 值。我想比较这些列,生成包含 True / False 值的第三列;列匹配时为真,不匹配时为假。
这是我尝试过的:
df['new_column'] = (df['column_one'] == df['column_two'])
Run Code Online (Sandbox Code Playgroud)
以上适用于数字,但不适用于 NaN 值。
我知道我可以用在每一行中没有意义的值替换 NaN(对于我的数据,这可能是 -9999),然后当我准备好回显比较结果时将其删除,但是我想知道是否有我忽略的更 Pythonic 的方法。
或者你可以只使用该equals方法:
df['new_column'] = df['column_one'].equals(df['column_two'])
Run Code Online (Sandbox Code Playgroud)
这是一种包含电池的方法,无论电池的数量dtype或内容如何,它都可以工作。如果你愿意,你也可以把它放在一个循环中。