比较一个数据帧中的两个数据帧

2024-06-01 08:22:31 发布

您现在位置:Python中文网/ 问答频道 /正文

作为数据比较项目的一部分。我已经合并了2个DF

df1型:

A、B、C

a1 t8 u7型

d5 g6 e5

c3 s3 s6级

df2型:

A、B、C

问题8 e6 d3

g4 s1 d0

s2 w3 r3型

合并数据帧df3

A B C A B C

a1 t8 u7 q8 e6 d3

d5 g6 e5 g4 s1 d0

c3 s3 s6 s2 w3 r3

并希望将它们与新列“差异”一起并排进行比较

A差B差C差

a1 q8假t8 e6假u7 d3假

d5 g4假g6 s1假e5 d0假

c3 s2假s3 w3假s6 r3假

请协助比较上述格式的df3中的值


Tags: s3a1d3d0s6s2c3g4
1条回答
网友
1楼 · 发布于 2024-06-01 08:22:31

我认为在pandas中最好避免重复的列名,因此建议以下解决方案:

  • ^{}二者DataFrames对于布尔值df,使用参数keys表示MultiIndex
  • ^{}按第二级列排序
  • 如果必要的话MultiIndex会被map压平

df = (pd.concat([df1, df2, df1 == df2], axis=1, keys=('a','b', 'diff'))
        .sort_index(axis=1, level=1))
df.columns = df.columns.map('_'.join)
print (df)

  a_A b_A  diff_A a_B b_B  diff_B a_C b_C  diff_C
0  a1  q8   False  t8  e6   False  u7  d3   False
1  d5  g4   False  g6  s1   False  e5  d0   False
2  c3  s2   False  s3  w3   False  s6  r3   False

相关问题 更多 >