在不添加新列的情况下,可以使用groupby函数按新列分组。以下是一个示例代码:
import pandas as pd
# 创建一个包含姓名、性别和年龄的数据框
data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七'],
'性别': ['男', '女', '男', '女', '男'],
'年龄': [25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
# 创建一个新的列'年龄段',根据年龄将人员分为不同的年龄段
df['年龄段'] = pd.cut(df['年龄'], bins=[0, 30, 40, float('inf')], labels=['30岁以下', '30-40岁', '40岁以上'])
# 按照'年龄段'列分组,并计算每个年龄段的人数
grouped = df.groupby('年龄段').size().reset_index(name='人数')
print(grouped)
输出结果如下:
年龄段 人数
0 30岁以下 2
1 30-40岁 1
2 40岁以上 2
在这个例子中,我们首先使用cut函数创建了一个新的列'年龄段',根据年龄将人员分为不同的年龄段。然后,我们使用groupby函数按照'年龄段'列进行分组,并使用size函数计算每个年龄段的人数。最后,我们使用reset_index函数将结果重置索引并命名为'人数'列。
上一篇:不添加相同记录检查循环
下一篇:不添加硬盘做逻辑盘centos