首页 > 解决方案 > 数据帧的条件分组

问题描述

我有一个包含两列索引为名称和年龄的数据框,现在我想根据年龄范围对这些数据进行分组,例如 11-20 岁、21-30 岁等等。我的思考过程:添加一个新列并根据满足年龄范围的条件分配值,然后根据新分配的值分组。但是,我无法编写这样的想法。我是 python 新手。谁能帮我?也欢迎任何其他技术来做到这一点。最终目的是对年龄段的数据进行分类并进行探索性分析。

这是我的代码:

dic_1 = pd.DataFrame({'name': ['ram','shyam','mohan', 'kalpesh', 'suresh'], 
'Age' : [15,30,40,50,60]})
df_1 = pd.DataFrame(dic_1)
df_1 ['group'] = np.array(np.random.randn(len(df_1['Age'])))
df_1.loc[df_1['Age'] < 20, 'group'] = "below twenty"
df_1.loc[20 <= df_1['Age'] < 30, 'group'] = "twenty to thrity"
df_1.loc[30 <= df_1['Age'] < 40, 'group'] = "thrity to forty"
df_1.loc[df_1['Age'] > 40, 'group'] = "above forty"
print (df_1)

标签: pandas-groupby

解决方案


推荐阅读