我有 3 个熊猫数据框,每个包含 1 列。df1 = pd.DataFrame({'col1':[111, 222, 333, 444, 555]})df2 = pd.DataFrame({'col2':[222, 333, 555]})df3 = pd.DataFrame({'col3':[111, 222, 333, 666]})我知道如何沿列连接它们:pd.concat([df1, df2, df3], axis=1)col1 col2 col3111 222 111222 333 222333 555 333444 NaN 666555 NaN NaN我想要的是,所有列的第一行必须是111,如果111不可用,它将是NaN,这适用于后续行。我想对数字进行排序,以便最终输出是这样的:col1 col2 col3111 NaN 111222 222 222333 333 333444 NaN NaN555 555 NaNNaN NaN 666这在熊猫中可能吗?
2 回答
慕容森
TA贡献1853条经验 获得超18个赞
您可以尝试合并第一列上的数据框
df= f1
for f in [df2,df3]:
df = df.merge(f,left_on=df.columns[0],right_on=f.columns[0],how='outer')
出去:
col1 col2 col3
0 111.0 NaN 111.0
1 222.0 222.0 222.0
2 333.0 333.0 333.0
3 444.0 NaN NaN
4 555.0 555.0 NaN
5 NaN NaN 666.0
添加回答
举报
0/150
提交
取消