【问题标题】:condense multiple rows into 1 aggregated by other columns pandas将多行压缩为 1 由其他列 pandas 聚合
【发布时间】:2021-07-19 22:45:41
【问题描述】:

如何选择按其他列分组的列并将该列的所有值放在 1 行中(在列表中)。 输入:

PropID    Manager    Manager_email      date
  1         A         a@aol.com       2021-02-01
  1         A         a@aol.com       2021-02-02
  1         A         a@aol.com       2021-02-03
  1         A         a@aol.com       2021-02-04
  2         B         b@aol.com       2021-02-08
  2         B         b@aol.com       2021-02-10
  2         B         b@aol.com       2021-02-12
  2         B         b@aol.com       2021-02-16

期望的输出:

PropID    Manager    Manager_email                      date
  1         A         a@aol.com       [2021-02-01,2021-02-02,2021-02-03,2021-02-04]
  2         B         b@aol.com       [2021-02-08,2021-02-10,2021-02-12,2021-02-16]

【问题讨论】:

标签: python pandas


【解决方案1】:

试试这个:

df.groupby(['PropID','Manager','Manager_email'])['date'].agg(list)

【讨论】:

  • 这个正在将数据框更改为系列。无论如何我可以将结构保留在数据框中?
  • 尝试在末尾添加.reset_index()
猜你喜欢
  • 2018-07-16
  • 2018-04-20
  • 2020-01-26
  • 2022-11-25
  • 2019-10-07
  • 2016-09-22
  • 2019-03-27
  • 1970-01-01
  • 2020-07-04
相关资源
最近更新 更多