python - Pandas 在 groupby 中删除重复项

标签 python pandas

<分区>

这是我的 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() 来获取 cuisine 词的出现次数,但重复的事情阻碍了我。知道如何在 Pandas 中得到这个吗?谢谢。

最佳答案

您正在寻找 groupbynunique:

df.groupby('cuisine', sort=False).name.nunique().to_frame('count')

         count
cuisine       
Chinese      1
Indian       2
French       2

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

关于python - Pandas 在 groupby 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53219340/

相关文章:

python - Python 中的多处理错误

python - 不确定如何设计 Django 应用程序 - 最佳实践

python - 为什么性能会随着数据帧的大小而下降?

python - OpenCV - Python 绑定(bind)中的 IPP、TBB 和 CUDA

python - 将具有 "X"列的表格数据转换为没有 pandas 或 csv 包的字典

python - 在文件中存储带有函数调用的 f 字符串

python - Pandas Timedelta 在应该为正的地方却是负的,如何克服限制

python - 尝试使用 chunksize 迭代器除外

python - 为什么 'na_values' 在 Pandas 中不能正常工作?

python - 'Dict.get()' 等同于 pandas 系列?