对dataframe中的一列进行分组,要求从最小值开始到最大值结束,相差小于等于3的归为一类
时间: 2024-02-11 20:06:06 浏览: 74
对于数据框中的一列进行分组,可以使用 `pandas` 库中的 `cut()` 函数。具体步骤如下:
1. 提取要分组的列。
2. 使用 `cut()` 函数对该列进行分组,设置参数 `bins` 为一个列表,列表中的元素表示分组的边界值。
3. 将分组结果添加回原始数据框中。
下面是一个示例代码:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8]})
# 提取要分组的列
data = df['A']
# 使用 cut() 函数对该列进行分组
bins = list(range(data.min(), data.max()+4, 3))
df['group'] = pd.cut(data, bins=bins, right=False, labels=False)
# 输出结果
print(df)
```
运行结果如下:
```
A group
0 1 0
1 2 0
2 3 0
3 4 1
4 5 1
5 6 1
6 7 2
7 8 2
```
结果中新增了一列 `group`,表示每个数据点所属的组的标签。在本例中,分组结果将数据点按照最小值到最大值,每相差小于等于3的归为一组。
阅读全文