我正在尝试将2个数据集合并在一起,其中列名重叠。
例如这样的
df1:
col1 col2
aa aa
bb bb
df2:
col2 col3
cc dd
new_df = pd.concat([df1,df2],axis=1)
new_df:
col1 col2 col3
aa aa
bb bb
cc dd
当我在代码中运行上面的行时,我得到的是这样的:
col1 col2 col2.1 col3
aa aa nan
bb bb nan
cc nan dd
如何防止.1
出现并强制pd.concat与列名匹配并插入数据?
答案 0 :(得分:3)
您沿错误轴串联。在这里,您使用了列轴,而您想在 index 轴上进行串联:
>>> pd.concat([df1, df2], axis='rows')
col1 col2 col3
0 aa aa NaN
1 bb bb NaN
0 NaN cc dd
因此,通过指定axis=0
,axis='rows'
,axis='index'
或完全省略它们,这些列将被“分组”,并且您将“垂直”连接起来。