【问题标题】:Squish multiple rows in multiple columns into one row in Pandas [duplicate]在 Pandas 中将多列中的多行压缩为一行 [重复]
【发布时间】:2020-01-26 01:04:33
【问题描述】:

我需要在 pandas 的多列中将多行压缩成一行。

例如,

df = pd.DataFrame({'A':[1,2,1,1,2,3], 'B':['b1','b2','b3','b4','b5','b6'], 'C':['c','c','c','c','c','c'], 'D':['d1','d2','d3','d4','d5','d6']})

print(df)
   A   B  C   D
0  1  b1  c  d1
1  2  b2  c  d2
2  1  b3  c  d3
3  1  b4  c  d4
4  2  b5  c  d5
5  3  b6  c  d6

这里的“A”是用作参考的标识符,用于对列中的其余行进行分组,我想将数据框转换为以下格式,

print(df)
   A   B        C   D
0  1  b1,b3,b4  c  d1,d3,d4
1  2  b2,b5     c  d2,d5
2  3  b6        c  d3

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    groupby

    df.groupby(['A', 'C'], as_index=False).agg(','.join)
    

    【讨论】:

      猜你喜欢
      • 2022-11-25
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 2021-05-25
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多