Python 因此,我有一个年龄列,年龄范围从10-70岁不等,我需要创建新的年龄组列,如18-25、25-40、40-55和55+;

Python 因此,我有一个年龄列,年龄范围从10-70岁不等,我需要创建新的年龄组列,如18-25、25-40、40-55和55+;,python,pandas,dataframe,function,Python,Pandas,Dataframe,Function,我创建了这样一个函数 def age_group(age): if age >= 18 & age <= 25: return '18-25' elif age > 25 & age <= 40: return '25-40' elif age > 40 & age <= 55: return '40-55 ' else: return '

我创建了这样一个函数

def age_group(age):
    if age >= 18 & age <= 25:
        return '18-25'
    elif age > 25 & age <= 40:
        return '25-40'
    elif age > 40 & age <= 55:
        return '40-55 ' 
    else:
        return '55+'
age_group(20)
def age_组(年龄):

如果年龄>=18岁&25岁&40岁&age你只需要使用
而不是
&

def age_group(age):
    if age >= 18 and age <= 25:
        return '18-25'
    elif age > 25 and age <= 40:
        return '25-40'
    elif age > 40 and age <= 55:
        return '40-55' 
    else:
        return '55+'
def age_组(年龄):

如果年龄>=18岁和25岁以及40岁和40岁使用
pd.cut

survey['age_group'] = pd.cut(survey['age'],
                             bins=[18,25,40,55, 70],
                             labels=['18-25', '25-40', '40-55', '55+',
                             include_lowest=True)

age
在本例中是一个
int
,因此我相信您想要的是
,而不是
&
。您将
拼错为
&
survey['age_group'] = pd.cut(survey['age'],
                             bins=[18,25,40,55, 70],
                             labels=['18-25', '25-40', '40-55', '55+',
                             include_lowest=True)