有没有办法方便地并排合并两个数据帧?
两个数据帧都有30行,它们具有不同的列数,例如,df1有20列,df2有40列.
如何轻松获得30行和60列的新数据框?
df3 = pd.someSpecialMergeFunct(df1, df2)
Run Code Online (Sandbox Code Playgroud)
或者可能附加一些特殊参数
df3 = pd.append(df1, df2, left_index=False, right_index=false, how='left')
Run Code Online (Sandbox Code Playgroud)
ps:如果可能的话,我希望可以自动解析复制的列名.
谢谢!
jor*_*ris 41
您可以使用此concat功能(axis=1将连接为colomns):
pd.concat([df1, df2], axis=1)
Run Code Online (Sandbox Code Playgroud)
请参阅有关合并/连接的pandas文档:http://pandas.pydata.org/pandas-docs/stable/merging.html
小智 12
我在尝试实现以下目标时遇到了您的问题:
因此,一旦我对数据帧进行切片,我首先确保它们的索引相同。在您的情况下,两个数据帧都需要从 0 到 29 进行索引。然后按索引合并两个数据帧。
df1.reset_index(drop=True).merge(df2.reset_index(drop=True), left_index=True, right_index=True)
Run Code Online (Sandbox Code Playgroud)
如果你想组合2个具有共同列名的数据框,你可以执行以下操作:
df_concat = pd.merge(df1, df2, on='common_column_name', how='outer')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31211 次 |
| 最近记录: |