python - 如何用pandas统计组元素的个数

标签 python pandas

我有一个数据框,只想计算每组中元素的数量。我知道,我可以使用 groupby().count() 来获取所有列的所有计数,但这对我来说太多了,我只想要每个组中的元素数。我该怎么做?

例子如下:

mydf = pd.DataFrame({"fruit":["apple","banana","apple"],"weight":[7,8,3],"price":[4,5,6]})
mydf
>>     fruit  price  weight
>> 0   apple      4       7
>> 1  banana      5       8
>> 2   apple      6       3

如果我使用 groupby("fruit").mean(),我将获得每一列的值。

mydf.groupby("fruit").mean()

>>         price  weight
>> fruit                
>> apple       2       2
>> banana      1       1

但我期望的输出是:

>>         number_of_fruit
>> fruit                
>> apple       2  
>> banana      1

我该怎么做?

最佳答案

你想要size来计算每个水果的数量:

In [102]:
mydf.groupby('fruit').size()

Out[102]:
fruit
apple     2
banana    1
dtype: int64

关于python - 如何用pandas统计组元素的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38187777/

相关文章:

python - 无法从网页获取少量项目

python - 是否可以创建同一 CNN 的多个实例,这些实例接收多个图像并连接成一个密集层? (喀拉斯)

python - 具有给定特征值和特征向量的随机正半定矩阵

python - 无法重命名由 .sum() 函数创建的数据框的列名称

python - Pandas 如何过滤系列

Python:以科学记数法打印数字列表

python - 使用 toctree 的自动摘要还列出了导入的成员

python-2.7 - 在 Python Pandas 中聚合组并输出特定计数的百分比

python - 按小时值对列 'Time' 进行分组

python - Pandas GroupBy 均值