【发布时间】:2022-11-24 17:25:16
【问题描述】:
数据框如下:
df1:
name | age | state | number | score
------------------------------------------------------
A 23 AZ 5434567 92.1
B 54 AZ 1234543 87.6
C 32 AZ 7654344 89.9
D 44 GA 8765433 72.4
df2:
name | age | state | number | score
------------------------------------------------------
A 23 GA 5434567 92.1
D 54 AZ 1234543 76.4
C 33 AZ 7654344 99.9
D 46 GA 8765433 72.4
所需的数据框如下:
name | age | state | number | score
-------------------------------------------------------
1 1 0 1 1
0 1 1 1 0
1 0 1 1 0
1 0 1 1 1
我试过的代码是:
outputdf = df1.eq(df2)
和
outputdf = df1.ne(df2)
但它们似乎都无法正常工作。
使用后输出错误当量线:
name | age | state | number | score
-------------------------------------------------------
1 1 0 1 0
0 1 1 1 1
1 0 1 1 1
1 0 1 1 1
使用后输出错误无线:
name | age | state | number | score
-------------------------------------------------------
1 1 0 1 0
0 1 1 1 1
1 0 0 0 1
0 0 0 0 1
有人可以帮我吗? 谢谢
【问题讨论】:
-
But neither of them seem to work correctly- 你能解释更多吗? -
@jezrael 只是匹配不正确。就像即使有匹配它输出 FALSE,反之亦然。
-
@Cosmo 您确定您的两个数据框具有相同的索引吗?
-
你可以说得更详细点吗?换句话说,你能展示你真正的错误输出和预期输出吗?
-
是的,我刚刚检查过。他们是一样的。 @南里
标签: python pandas dataframe match