【问题标题】:if few columns are the same and then append the row value together in pandas如果几列相同,然后将行值附加到 pandas 中
【发布时间】:2023-02-07 11:02:13
【问题描述】:

以下是详情

这是数据框

Name| Filename| delimetier| good delimeter| bad delimeter
A     123       48         a                A
A     123       48                          A
B     123       48         b                C
C     123       49         c                B
A     123       48         d                D
A     123       48         c                E
B     123       48         d                F

我想要的是

Name| Filename| delimetier| good delimeter| bad delimeter
A     123       48         a, c, d          A, D, E
B     123       48         b, d             C, F
C     123       49         c                B

即使有空值和重复项,也忽略它们。我试过使用 groupby() 来解决它,但失败了。

【问题讨论】:

    标签: python pandas pivot pivot-table


    【解决方案1】:

    您可以使用 groupby.apply 来实现此结果。

    使用此数据:

    >>> df
      Name  Filename  delimeter good delimeter
    0    A       123         48              a
    1    B       123         48              b
    2    C       123         49              c
    3    A       123         48              d
    4    A       123         48              c
    5    B       123         48              d
    

    解决方案

    out = (
        df.groupby(['Name', 'Filename', 'delimeter'], as_index=False)
        ['good delimeter'].apply(', '.join)
    )
    
    print(out)
      Name  Filename  delimeter good delimeter
    0    A       123         48        a, d, c
    1    B       123         48           b, d
    2    C       123         49              c
    

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 2021-09-11
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 2020-02-25
      • 1970-01-01
      • 2020-09-04
      相关资源
      最近更新 更多