比较2个pandas数据帧上的2列是否相等

时间:2017-11-09 18:43:45

标签: python pandas

我有两个数据帧pd和pd2:

PD

Name A B
t1   3 4
t5   2 2
fry  4 5
net  3 3

PD2

Name A B
t1   3 4
t5   2 2
fry  4 5
net  3 3

我想确保两个数据帧之间的列'Name'不仅匹配名称(t1,t5等),而且它们需要具有相同的顺序。我试过chekS = (df.index == df2.index).all(axis=1).astype(str)没有运气。

2 个答案:

答案 0 :(得分:1)

假设Name是您的索引,您可以将轴更改为0,或使用chekS = sum(df.index != df2.index)。如果它不是索引,则chekS = sum(df.Name != df2.Name)将起作用。

答案 1 :(得分:1)

如果Name是列,而不是您的示例数据框建议的索引,则可以比较两列

(df1['Name'] == df2['Name']).all()

在这种情况下返回True。

让我们说你的df2是

    Name    A   B
0   t1      3   4
1   t5      2   2
2   net     3   3
3   fry     4   5

我只是在索引2和3处翻转行,保持值相同,

(df1['Name'] == df2['Name']).all()

将返回False