【问题标题】:Groupby one column and show distinct size on the other (Pandas) [duplicate]按一列分组并在另一列上显示不同的大小(熊猫)[重复]
【发布时间】:2021-06-08 18:35:29
【问题描述】:

我有数据希望按一列分组并采用另一列的不同大小。我想保留两个列标题并添加一个计数列

数据

Id  location
A.1 ny
A.2 ny
A   ny
A   ny
B   ca
B   ca

想要的

Id  location  count 
A.1 ny        3
A.2 ny             
A   ny
B   ca        2
B   ca

在做

df.groupby('location')['Id'].size()

但是,输出没有显示标题,我不确定如何添加 Id 列。 任何建议表示赞赏

【问题讨论】:

  • groupby('location')['Id'].nunique().
  • @QuangHoang 谢谢 - 有没有办法列出 Id 列的名称和值?

标签: python pandas numpy


【解决方案1】:
df.assign(count=df.groupby('location').transform('nunique'))

输出:

    Id location  count
0  A.1       ny      3
1  A.2       ny      3
2    A       ny      3
3    A       ny      3
4    B       ca      1
5    B       ca      1

【讨论】:

    【解决方案2】:

    鉴于输出是一个列表,我认为您的示例中要么有 [4, 2] 要么 [3, 1]。

    【讨论】:

      猜你喜欢
      • 2022-07-14
      • 2022-01-16
      • 2023-03-28
      • 2020-06-11
      • 2017-11-27
      • 2022-11-10
      • 2019-04-11
      • 1970-01-01
      • 2016-06-04
      相关资源
      最近更新 更多