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']
Output:
ValueError: Can only compare identically-labeled Series objects
更改为 numpy 数组:
df1['A'] != df2['B'].values
Output:
1 True
2 True
3 True
4 True
5 True
6 True
7 True
8 True
9 True
Name: A, dtype: bool