代码之家  ›  专栏  ›  技术社区  ›  TylerNG

在python中连接/组合类似列

  •  1
  • TylerNG  · 技术社区  · 8 年前

    在合并/组合多个列后,我遇到了这个问题:

    df = 
    Name    id  id_x    id_y    age age_x
    A   111 111     20  
    B   112     112     30
    C       113 113 40  40
    

    我的目标是像这样清理它们:

    Name    id  age
    A   111 20
    B   112 30
    C   113 40
    

    提前谢谢!

    2 回复  |  直到 8 年前
        1
  •  2
  •   BENY    8 年前
    df.groupby(df.columns.str.split('_').str[0],1).first()
    Out[1196]: 
      Name   age     id
    0    A  20.0  111.0
    1    B  30.0  112.0
    2    C  40.0  113.0
    
        2
  •  1
  •   piRSquared    8 年前

    IIUC使用 fillna

    df1.fillna(df2)
    

    如果这些是真正的空间

    df1.mask(df1.astype(str).eq(‘’), df2)