我如何添加两个熊猫数据帧与另一个熊猫数据帧,并添加索引更改,如以下示例所示。
df1:
A B C D
1 1 2 3 2
2 2 2 3 1
3 2 3 2 1
df2:
A B C D
1 1 2 3 2
2 4 2 19 1
3 2 64 2 1
结果应该是
df_sum:
A B C D A_2 B_2 C_2 D_2
1 1 2 3 2 1 2 3 2
2 4 2 19 1 4 2 19 1
2 2 2 3 1 2 64 2 1
然后添加d_A = A_2-A的4列; d_B = B_2-B; d_C = C_2-C; d_D = D_2-D:
A B C D A_2 B_2 C_2 D_2 d_A d_B ..
1 1 2 3 2 1 2 3 2 0 0 ..
2 4 2 19 1 4 2 19 1 0 0 ..
2 2 2 3 1 2 64 2 1 0 62 ..
谢谢,
[R
最佳答案
将concat
与DataFrame.add_suffix
一起使用:
df = pd.concat([df1, df2.add_suffix('_2')], axis=1)
#alternative solution
#df = df1.join(df2.add_suffix('_2'))
print (df)
A B C D A_2 B_2 C_2 D_2
1 1 2 3 2 1 2 3 2
2 2 2 3 1 4 2 19 1
3 2 3 2 1 2 64 2 1
另一个想法是通过参数
MultiIndex
创建keys
,然后使用f-string
s通过列表理解将其展平-输出有些不同:df = pd.concat([df1, df2], axis=1, keys=('1','2'))
df.columns = [f'{j}_{i}' for i, j in df.columns]
print (df)
A_1 B_1 C_1 D_1 A_2 B_2 C_2 D_2
1 1 2 3 2 1 2 3 2
2 2 2 3 1 4 2 19 1
3 2 3 2 1 2 64 2 1
关于python - 结合两个具有新索引号的数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52834064/