这是我的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()
它说系列分组对象不能。
以某种方式,我需要应用value_counts()来获取美食单词出现的次数,但重复的事情却受阻。知道我怎么能在大熊猫上得到这个吗?谢谢。
答案 0 :(得分:2)
您正在寻找groupby
和nunique
:
df.groupby('cuisine', sort=False).name.nunique().to_frame('count')
count
cuisine
Chinese 1
Indian 2
French 2
将返回每个组的唯一项计数。
答案 1 :(得分:2)
使用crosstab
pd.crosstab(df.name,df.cuisine).ne(0).sum()
Out[550]:
cuisine
Chinese 1
French 2
Indian 2
dtype: int64