gpt4 book ai didi

python - 比较 pandas.Series 在不同顺序时的相等性

转载 作者:太空狗 更新时间:2023-10-30 00:02:55 32 4
gpt4 key购买 nike

Pandas 在应用加法和减法等二元运算符之前会自动对齐 Series 对象的数据索引,但在检查相等性时不会这样做。为什么会这样,我该如何克服它?

考虑以下示例:

In [15]: x = pd.Series(index=["A", "B", "C"], data=[1,2,3])

In [16]: y = pd.Series(index=["C", "B", "A"], data=[3,2,1])

In [17]: x
Out[17]:
A 1
B 2
C 3
dtype: int64

In [18]: y
Out[18]:
C 3
B 2
A 1
dtype: int64

In [19]: x==y
Out[19]:
A False
B True
C False
dtype: bool

In [20]: x-y
Out[20]:
A 0
B 0
C 0
dtype: int64

我正在使用 pandas 0.12.0。

最佳答案

您可以通过以下方式克服它:

In [5]: x == y.reindex(x.index)
Out[5]:
A True
B True
C True
dtype: bool

In [6]: x.sort_index() == y.sort_index()
Out[6]:
A True
B True
C True
dtype: bool

这里解释了“为什么”:https://github.com/pydata/pandas/issues/1134#issuecomment-5347816

更新:有一个讨论此问题的问题 (https://github.com/pydata/pandas/issues/1134) 和一个修复此问题的 PR (https://github.com/pydata/pandas/pull/6860)

关于python - 比较 pandas.Series 在不同顺序时的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22983523/

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