pandas先分组再统计不同的要素个数
时间: 2023-06-13 14:02:55 浏览: 103
你可以使用`groupby`函数将数据按照某一列分组,然后使用`nunique`函数统计分组后每组中不同要素的个数。
例如,假设有一个数据集`df`,其中有两列`category`和`item`,你想要按照`category`列进行分组,统计每组中不同的`item`个数,可以使用以下代码:
```python
grouped = df.groupby('category')
result = grouped['item'].nunique()
```
这将返回一个`Series`对象,其中每个索引表示一个分组,对应的值为该分组中不同`item`的个数。
相关问题
pandas先分组再统计要素个数
可以使用`groupby()`方法对数据进行分组,然后使用`size()`方法统计每个分组中的元素个数。例如:
``` python
import pandas as pd
# 创建示例数据
data = {'Animal': ['Dog', 'Cat', 'Dog', 'Cat', 'Dog', 'Dog', 'Cat'],
'Color': ['Black', 'White', 'White', 'Black', 'White', 'Black', 'Black']}
df = pd.DataFrame(data)
# 按 Animal 列进行分组,统计每个分组中的元素个数
result = df.groupby('Animal').size()
print(result)
```
输出结果为:
```
Animal
Cat 3
Dog 4
dtype: int64
```
其中,`result`是一个Series对象,包含两个分组('Cat'和'Dog')及它们对应的元素个数。
pandas先分组再统计不同的各个同类型要素的个数
可以使用`groupby`和`value_counts`方法来实现这个功能。假设我们有一个名为`df`的DataFrame,其中包含一个列名为`category`的分类变量,我们想要统计每个类别出现的次数,可以按照以下方式进行操作:
```python
counts = df.groupby('category')['category'].value_counts()
```
这将返回一个Series对象,其中每个类别都有其出现次数的计数。如果想要将结果转换为DataFrame格式,可以使用`reset_index`方法:
```python
counts = counts.rename('count').reset_index()
```
这样我们就得到了一个名为`counts`的DataFrame对象,其中包含每个类别及其出现次数的计数。
阅读全文