为了账号安全,请及时绑定邮箱和手机立即绑定

在 Pandas 中跨多列排列行值

在 Pandas 中跨多列排列行值

富国沪深 2021-07-02 15:11:58
我有 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


查看完整回答
反对 回复 2021-07-13
  • 2 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信