【发布时间】:2020-09-28 13:40:56
【问题描述】:
如何以最有效的方式将 4 个 pandas 数据帧合并为一个原始数据帧?
下面显示了原始数据框df,其中CC1、CC2、CC3 和CC4 的4 列需要使用df1、df2、df3 和df4 中的相应列进行更新.
所有数据帧的公共列是TD 和PD。
编辑
df
TD PD CC1 CC2 CC3 CC4 A B C
10 1 Null Null Null Null 1 1 0
10 2 Null Null Null Null 0 1 1
10 3 Null Null Null Null Null 2 Null
20 1 Null Null Null Null Null 0 1
20 4 Null Null Null Null 2 Null Null
30 1 Null Null Null Null 4 0 2
30 3 Null Null Null Null 8 Null 5
30 5 Null Null Null Null Null 1 1
40 2 Null Null Null Null 0 0 0
df1
TD PD CC1
10 2 0
20 1 5
20 4 2
30 3 10
df2
TD PD CC2
10 1 15
10 2 10
20 4 20
df3
TD PD CC3
10 3 0
20 4 5
30 1 9
df4
TD PD CC4
20 4 0
30 1 15
30 3 20
合并后的预期输出如下:
df
TD PD CC1 CC2 CC3 CC4 A B C
10 1 Null 15 Null Null 1 1 0
10 2 0 10 Null Null 0 1 1
10 3 Null Null 0 Null Null 2 Null
20 1 5 Null Null Null Null 0 1
20 4 2 20 5 0 2 Null Null
30 1 Null Null 9 15 4 0 2
30 3 10 Null Null 20 8 Null 5
30 5 Null Null Null Null Null 1 1
40 2 Null Null Null Null 0 0 0
df(A、B 和 C)中的其他额外列不受影响。
此外,df1、df2、df3 和 df4 中的总行数不等于 df 中的行数。如何以最快的方式实现这一点,是否可以仅在一个语句中完成,还是必须在此处使用 4 个不同的语句?
非常感谢任何帮助。非常感谢。
【问题讨论】: