Python 将年龄分类为另一列年龄组

Python 将年龄分类为另一列年龄组,python,pandas,dataframe,dataset,Python,Pandas,Dataframe,Dataset,我有这个数据集 age 24 32 29 23 23 31 25 26 34 我想使用python进行分类,并将结果保存到一个新的列AGEGOUP中,以便 年龄介于; 23到26在年龄组列中返回1, 27-30返回年龄组列中的值2 和31-34在年龄组列中返回3,您可以使用 鉴于: >>> df age 0 24 1 32 2 29 3 23 4 23 5 31 6 25 7 26 8 34 解决方案: >>> d

我有这个数据集

age
24
32
29
23
23
31
25
26
34
我想使用python进行分类,并将结果保存到一个新的列AGEGOUP中,以便 年龄介于; 23到26在年龄组列中返回1, 27-30返回年龄组列中的值2 和31-34在年龄组列中返回3,您可以使用

鉴于:

>>> df
   age
0   24
1   32
2   29
3   23
4   23
5   31
6   25
7   26
8   34
解决方案:

>>> df.assign(agegroup=pd.cut(df['age'], bins=[23, 27, 31, 35], right=False, labels=[1, 2, 3]))
   age agegroup
0   24        1
1   32        3
2   29        2
3   23        1
4   23        1
5   31        3
6   25        1
7   26        1
8   34        3
你可以用

鉴于:

>>> df
   age
0   24
1   32
2   29
3   23
4   23
5   31
6   25
7   26
8   34
解决方案:

>>> df.assign(agegroup=pd.cut(df['age'], bins=[23, 27, 31, 35], right=False, labels=[1, 2, 3]))
   age agegroup
0   24        1
1   32        3
2   29        2
3   23        1
4   23        1
5   31        3
6   25        1
7   26        1
8   34        3

你也可以用字典来做这件事。键值对。键将是不同的年龄范围,特定键的值将是该特定年龄组的计数

groupDict={'23-26':0,'27-30':0,'31-34':0}

for i in ages:
 if i>=23 and i<=26:
   groupDict['23-26']+=1
 elif i>=27 and i<=30:
   groupDict['27-30']+=1
 elif i>=31 and i<=34:
   groupDict['27-30']+=1

你也可以用字典来做这件事。键值对。键将是不同的年龄范围,特定键的值将是该特定年龄组的计数

groupDict={'23-26':0,'27-30':0,'31-34':0}

for i in ages:
 if i>=23 and i<=26:
   groupDict['23-26']+=1
 elif i>=27 and i<=30:
   groupDict['27-30']+=1
 elif i>=31 and i<=34:
   groupDict['27-30']+=1

df.assignagegroup=df['agegroup']=@DavidErickson df.assignagegroup=.的值是多少。。。提供新的df,但df['agegroup']在原地变异原始df。@DavidErickson前者返回一个新的df并可以链接,后者在原地工作。谢谢!我也很快读到了:我将开始使用df.assign,df.assignagegroup=的值是多少。。。提供新的df,但df['agegroup']在原地变异原始df。@DavidErickson前者返回一个新的df并可以链接,后者在原地工作。谢谢!我也很快读到了:我将开始使用df.assign