我是 pandas 新手,我想合并两个数据框,但我不确定如何正确执行此操作。所以我有两个数据帧 df 和 df1,其中 df1 是 df 的子集。我对 df1 执行了不同的操作,并且有新列,我想将其合并回 df。
df
Index col1 col2 col3
1 a 1234 5a
2 b 3456 c4
3 c 3613 9y
4 d 9103 0l
5 e 8133 9m
6 f 6790 7h
df1
Index col1 col2 col3
3 c 3613 9y
5 e 8133 9m
6 f 6790 7h
我从 df 和 df1 开始,并对 df1 应用一个操作,结果是:
df1
Index col1 col2 col3 col4 col5
3 c 3613 9y qwrt hkjg
5 e 8133 9m asdf jgnm
6 f 6790 7h asdf sajf
所以我现在的问题是如何基于 col1 将 df1 合并回 df 中以给出类似的内容(本质上是将 nans 添加到不属于 df1 的列并保留原始数据帧 df 的顺序)
Index col1 col2 col3 col4 col5
1 a 1234 5a nan nan
2 b 3456 c4 nan nan
3 c 3613 9y qwrt hkjg
4 d 9103 0l nan nan
5 e 8133 9m asdf jgnm
6 f 6790 7h asdf sajf
最佳答案
IIUC,你需要这个
df.merge(df1, how='outer')
输出
index col1 col2 col3 col4 col5
0 1 a 1234 5a NaN NaN
1 2 b 3456 c4 NaN NaN
2 3 c 3613 9y qwrt hkjg
3 4 d 9103 0l NaN NaN
4 5 e 8133 9m asdf jgnm
5 6 f 6790 7h asdf sajf
关于python - Pandas - 合并数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182989/