pandas 分桶统计数量
时间: 2023-10-14 09:27:38 浏览: 30
可以使用 pandas 的 `cut()` 函数来进行分桶操作,然后使用 `value_counts()` 函数来统计每个分桶中的数量。
例如,假设有一个包含年龄数据的 DataFrame,我们想要将年龄分为 10 岁一段,然后统计每个分桶中的人数,可以按照以下步骤操作:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'age': [18, 22, 35, 42, 55, 63, 71, 84, 91]})
# 将年龄分为 10 岁一段
bins = range(0, 101, 10)
df['age_group'] = pd.cut(df['age'], bins)
# 统计每个分桶中的人数
counts = df['age_group'].value_counts()
print(counts)
```
输出结果为:
```
(10, 20] 1
(20, 30] 1
(30, 40] 1
(40, 50] 1
(50, 60] 1
(60, 70] 1
(70, 80] 1
(80, 90] 1
(90, 100] 1
Name: age_group, dtype: int64
```
以上代码中,`range(0, 101, 10)` 表示生成一个从 0 到 100 的整数序列,每隔 10 个取一个数,即 `[0, 10, 20, ..., 100]`。`pd.cut()` 函数将 `df['age']` 列中的数据按照这个序列进行分桶,生成一个新的 `age_group` 列。最后使用 `value_counts()` 函数对 `age_group` 列中的数据进行统计。