【问题标题】:group by two columns count in pandas [duplicate]在熊猫中按两列计数[重复]
【发布时间】:2018-11-03 09:43:45
【问题描述】:

我有一个这样的 Pandas DataFrame:

df = pd.DataFrame({
    'Date': ['2017-1-1', '2017-1-1', '2017-1-2', '2017-1-2', '2017-1-3'],
    'Groups': ['one', 'one', 'one', 'two', 'two']})

    Date      Groups  
0  2017-1-1    one       
1  2017-1-1    one       
2  2017-1-2    one       
3  2017-1-2    two       
4  2017-1-3    two   

如何生成这样的新 DataFrame?

     Date    Groups_counts     
0  2017-1-1    1        
1  2017-1-2    2        
2  2017-1-3    1   

非常感谢!

【问题讨论】:

  • 您的意思是按第二列中有多少个唯一值进行分组?我猜你是,但你应该在你的问题中解释这一点。另外,你尝试了什么?你得到了什么输出?看看这是否有帮助:stackoverflow.com/questions/15411158/…

标签: python pandas


【解决方案1】:

要获取唯一记录的计数,请使用:

df.groupby('Date')['Groups'].nunique()

【讨论】:

  • 谢谢。如果我想根据 Groups_counts 的值对值进行排序,我应该添加什么?
  • @ahbon 只是 sort_values() 使用 df.groupby('Date')['Groups'].nunique().sort_values(ascending=False)
  • 很好的答案:)
猜你喜欢
  • 1970-01-01
  • 2017-05-10
  • 2020-10-17
  • 2016-04-23
  • 1970-01-01
  • 2017-05-30
  • 2021-02-28
  • 1970-01-01
  • 2018-06-03
相关资源
最近更新 更多