gpt4 book ai didi

python - 使用 Python pandas 检查列是否包含相同的值或 NaN

转载 作者:太空宇宙 更新时间:2023-11-04 10:19:13 25 4
gpt4 key购买 nike

如果对于列中的每一行,它们仅包含与其他列中的元素相同或为 NaN 的元素,我想要一个返回 True 的函数。

例子:

A  B  C
1 1 NaN
4 NaN NaN
2 2 2

函数应该在这个输入上返回True

A  B  C
1 2 1
3 3 3

该函数应在此输入中返回 False。 (因为 1 和 2 or 不相同,而且两者都不是 NaN)

编辑:

==equals() 不起作用,因为:

  1. 它认为 NaN 不同于 NaN
  2. 如果我告诉 pandas 不要这样做,NaN 仍然算作不同于 4。

最佳答案

这里的想法是在排除 NAN 值后计算数据框中每一行的唯一值,如果计数等于 1 这意味着您的条件是fulfilled ,否则返回 false

df.apply( lambda x: len(x[-x.isnull()].unique()) == 1 , axis = 1).all()

然后使用 all() 仅当所有行都满足条件时才返回 true

关于python - 使用 Python pandas 检查列是否包含相同的值或 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411055/

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