gpt4 book ai didi

python - Pandas - 比较 None 值

转载 作者:行者123 更新时间:2023-12-01 09:30:47 25 4
gpt4 key购买 nike

考虑这个片段:

a = pd.DataFrame([[None]])
b = pd.DataFrame([[None]])

现在,我想验证它们都包含完全相同的值:

int((a == b).sum())  # should be 1

但它不是 1。相反,它返回 0。这种行为给我带来了麻烦,尤其是在 assert_frame_equal 中,它报告 None 不是 None即使它们是:

a.iloc[0,0] == b.iloc[0,0]  # True

这是为什么?我该如何解决这个问题?

最佳答案

pandas 是特殊的大小写 None 以便被解释为 NaN (因为 NaN != NaNpd.isnull 一致地对待两者......这可能是一种解释)。

不是解决方案,而是解决方法 - 如果它们是 None 并且不是 NaN,则 np.array_equal 有效;

>>> np.array_equal(a, b)
True

如果您想要计数而不是 bool 结果,请使用np.equal;

>>> np.equal(a, b).sum().item()
1

关于python - Pandas - 比较 None 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49988148/

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