作为数据比较项目的一部分。我有两个DF合并了
DF1:
A B C
a1 t8 u7
d5 g6 e5
c3 s3 s6
DF2:
A B C
q8 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 B差异C C差异
a1 q8 FALSE t8 e6 FALSE u7 d3 FALSE
d5 g4 FALSE g6 s1 FALSE e5 d0 FALSE
c3 s2 FALSE s3 w3 FALSE s6 r3 FALSE
请协助比较上述格式的df3中的值
答案 0 :(得分:2)
我认为在pandas中最好避免重复的列名,所以建议这个解决方案:
concat
DataFrames
使用布尔df
,使用参数keys
作为MultiIndex
sort_index
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