熊猫在 groupby 中删除重复项 [重复]
Posted
技术标签:
【中文标题】熊猫在 groupby 中删除重复项 [重复]【英文标题】:Pandas drop duplicates within groupby [duplicate] 【发布时间】: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() 来获取美食词的出现次数,但重复的事情阻碍了。知道如何在熊猫中得到这个吗?谢谢。
【问题讨论】:
【参考方案1】:您正在寻找groupby
和nunique
:
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
【讨论】:
以上是关于熊猫在 groupby 中删除重复项 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Spark DataFrame通过GroupBy删除重复项保持第一