【发布时间】:2021-03-30 09:31:21
【问题描述】:
如何根据常用列值进行拼接/追加?
我正在从一些文件创建一些 dfs,我想编译它们。 列并不总是匹配,但总会有一些常见的列(我只知道保证匹配的几列,但列很多,我想尽可能多地保留信息)
df1:
| Name | Status |
|---|---|
| John | 1 |
| Jane | 2 |
df2:
| Extra1 | Extra2 | Name | Status |
|---|---|---|---|
| a | b | Bob | 2 |
| c | d | Nancy | 2 |
期望的输出:
要么这个(顺序无关):
| Extra1 | Extra2 | Name | Status |
|---|---|---|---|
| a | b | Bob | 2 |
| c | d | Nancy | 2 |
| NULL | NULL | John | 1 |
| NULL | NULL | Jane | 2 |
或者这个(顺序无关):
| Name | Status |
|---|---|
| John | 1 |
| Jane | 2 |
| Bob | 2 |
| Nancy | 2 |
我已经尝试了这些,但没有得到我想要的结果:
df = pd.concat([df2, df], axis=0, ignore_index=True)
df = df.set_index('Name').combine_first(df2.set_index('Name')).reset_index()
谢谢
不知道为什么表格没有被格式化,它在预览中显示得很好
【问题讨论】:
标签: pandas dataframe python-3.7