gpt4 book ai didi

python - 值错误 : Can only compare identically-labeled Series objects python

转载 作者:行者123 更新时间:2023-12-04 02:58:55 26 4
gpt4 key购买 nike

df = df1.loc[df1['CUST_ACCT_KEY'] != df2['CUST_ACCT_KEY']]

当我执行上述命令时,出现以下错误:

ValueError: Can only compare identically-labeled Series objects



我究竟做错了什么?*

两列的数据类型都是 int64 .

最佳答案

Pandas几乎所有的操作都使用内在的数据对齐,这意味着它使用索引来比较和执行操作。

您可以通过将系列之一转换为 numpy 来避免此错误。数组使用 .values :

df = df1.loc[df1['CUST_ACCT_KEY'] != df2['CUST_ACCT_KEY']].values

但是,您是在没有索引对齐的情况下比较行与行。

MCVE:
df1 = pd.DataFrame(np.arange(1,10), index=np.arange(1,10),columns=['A'])

df2 = pd.DataFrame(np.arange(11,20), index=np.arange(11,20),columns=['B'])

df1['A'] != df2['B']

输出:
ValueError: Can only compare identically-labeled Series objects

更改为 numpy 数组:
df1['A'] != df2['B'].values

输出:
1    True
2 True
3 True
4 True
5 True
6 True
7 True
8 True
9 True
Name: A, dtype: bool

关于python - 值错误 : Can only compare identically-labeled Series objects python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51067449/

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