【问题标题】:Pandas drop duplicates within groupby [duplicate]熊猫在 groupby 中删除重复项 [重复]
【发布时间】:2019-04-12 15:30:42
【问题描述】:

这是我的 csv 的样子,

name, cuisine, review
A, Chinese, this
A, Indian, is
B, Indian, an
B, Indian, example
B, French, thank
C, French, you

我试图计算不同种类的菜肴按名称出现的次数。这是我应该得到的

Cuisine, Count
Chinese, 1
Indian, 2
French, 2

但是您可以看到名称中有重复项,例如B 所以我尝试 drop_duplicates 但我不能。我用

df.groupby('name')['cuisine'].drop_duplicates() 

它说系列 groupby 对象不能。

不知何故,我需要应用 value_counts() 来获取美食词的出现次数,但重复的事情阻碍了。知道如何在熊猫中得到这个吗?谢谢。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您正在寻找groupbynunique

    df.groupby('cuisine', sort=False).name.nunique().to_frame('count')
    
             count
    cuisine       
    Chinese      1
    Indian       2
    French       2
    

    将返回每组唯一项目的计数。

    【讨论】:

      【解决方案2】:

      使用crosstab

      pd.crosstab(df.name,df.cuisine).ne(0).sum()
      Out[550]: 
      cuisine
       Chinese    1
       French     2
       Indian     2
      dtype: int64
      

      【讨论】:

        猜你喜欢
        • 2016-09-03
        • 2019-04-07
        • 2019-05-04
        • 2023-03-31
        • 2020-02-20
        • 2016-01-30
        • 2017-03-03
        • 1970-01-01
        • 2020-11-07
        相关资源
        最近更新 更多