将数据框与公共列连接起来[重复]
Posted
技术标签:
【中文标题】将数据框与公共列连接起来[重复]【英文标题】:Concatenating dataframes with a common column [duplicate] 【发布时间】:2021-08-10 08:33:40 【问题描述】:我有 2 个数据框,其中一个公共列表示行号。
Df1:
Rownum A B C
11 S V L
11 F U M
11 T C O
11 B X P
Df2:
Rownum E F G
12 S V L
12 F U M
12 T C O
12 B X P
当前实现:
df = pd.concat(df1,df2,axis=1)
Output:
Rownum A B C Rownum E F G
11 S V L 12 S V L
11 F U M 12 F U M
11 T C O 12 T C O
11 B X P 12 B X P
下面提到的是我想要实现的期望输出:
Rownum A B C E F G
11 S V L
11 F U M
11 T C O
11 B X P
12 S V L
12 F U M
12 T C O
12 B X P
我们将不胜感激。
【问题讨论】:
pd.merge(df, df1, on='Rownum', how='outer').fillna('')
【参考方案1】:
删除concat
中的axis=1
并将Rownum
转换为DataFrames
的索引:
df = pd.concat([df1.set_index('Rownum'),df2.set_index('Rownum')]).reset_index().fillna('')
print (df)
Rownum A B C E F G
0 11 S V L
1 11 F U M
2 11 T C O
3 11 B X P
4 12 S V L
5 12 F U M
6 12 T C O
7 12 B X P
【讨论】:
以上是关于将数据框与公共列连接起来[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将两个数据框与一些公共列合并,其中公共的组合需要是自定义函数
将两个不相等的数据框与两个索引(日期时间和日期)上的部分公共元素合并
PySpark:如何将数据框与存储在其他变量中的列名连接起来