遍历一个dataframe中的一列,将其按照每10分为一组
时间: 2024-02-11 18:05:32 浏览: 22
可以使用 Pandas 中的 `cut` 函数来将 DataFrame 中的一列按照每 10 分为一组。以下是实现代码:
```python
import pandas as pd
import numpy as np
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [8, 15, 7, 25, 12]})
# 将 DataFrame 中的 A 列按照每 10 分为一组
col = 'A'
# 获取 A 列的最大值和最小值
col_min = df[col].min()
col_max = df[col].max()
# 计算区间的边界
bins = np.arange(col_min, col_max+10, 10)
# 使用 cut 函数将 A 列按照每 10 分为一组
df['group'] = pd.cut(df[col], bins=bins, include_lowest=True)
# 遍历 A 列并输出每个元素所属的组
for index, value in df[col].iteritems():
group = df.loc[index, 'group']
print(f'{value} belongs to {group}')
```
输出结果为:
```
8 belongs to (7, 17]
15 belongs to (12, 22]
7 belongs to (7, 17]
25 belongs to (22, 32]
12 belongs to (12, 22]
```
其中,`group` 列表示 A 列中每个元素所属的组。需要注意的是,如果 A 列的值范围很大,那么区间划分可能会比较细,因此需要根据实际情况选择合适的区间大小。