gpt4 book ai didi

python - 忽略 NaN 的列比较

转载 作者:行者123 更新时间:2023-11-28 22:11:07 24 4
gpt4 key购买 nike

我有两列这样的:

    NaN      35078
33515 33515
NaN 123841
NaN 124074
NaN 5699
5700 5703
NaN 7506
NaN 9142
9100 9146
NaN 10736
14557 14557
NaN 17229

我想要做的是比较两列并获得另一个具有 True 或 False 的新列。条件是每行每列的值应该不同,但不能有 NaN 值。

我应该得到这样的东西:

False
False
False
False
False
True
False
False
True
False
False
False

我拥有的是df.loc[:, 'column1'] != df.loc[:, 'column2'] ,但 NaN 值不会被忽略。谢谢!

最佳答案

使用 & 链接另一个 bool 掩码,以按位 ANDSeries.notna :

mask = (df['column1'] != df['column2']) & (df['column1'].notna())
print (mask)
0 False
1 False
2 False
3 False
4 False
5 True
6 False
7 False
8 True
9 False
10 False
11 False
dtype: bool

如果需要测试两列:

mask = (df['column1'] != df['column2']) & (df[['column1', 'column1']].notna().all(axis=1))

关于python - 忽略 NaN 的列比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56129805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com