vik*_*try 0 python merge dataframe pandas
我有两个数据框,它们有一些共同的列。例如,第一个数据帧:
A B C D G
null 1 2 3 6
4 5 6 null 7
Run Code Online (Sandbox Code Playgroud)
第二个:
A B C D E F
2 1 2 3 4 5
4 5 6 8 8 8
Run Code Online (Sandbox Code Playgroud)
如何组合它们以使空值消失并被第二个数据帧中的值替换?
A B C D E F G
2 1 2 3 4 5 6
4 5 6 8 8 8 7
Run Code Online (Sandbox Code Playgroud)
我尝试使用 concat 方法,但公共列没有重叠,而是添加到第一个数据帧的末尾。
result = pd.concat([df1, df2], axis=1, join='inner')
Run Code Online (Sandbox Code Playgroud)
尝试通过combine_first():
out=df1.combine_first(df2)
Run Code Online (Sandbox Code Playgroud)
的输出out:
A B C D E F G
0 2.0 1 2 3.0 4 5 6
1 4.0 5 6 8.0 8 8 7
Run Code Online (Sandbox Code Playgroud)
如果需要使用链式astype()方法combine_first():
out=df1.combine_first(df2).astype(int)
Run Code Online (Sandbox Code Playgroud)
的输出out:
A B C D E F G
0 2 1 2 3 4 5 6
1 4 5 6 8 8 8 7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |