熊猫按年龄分组

时间:2020-07-07 05:58:55

标签: pandas split grouping

我刚接触大熊猫,需要一些帮助。我有一个关于年龄的专栏,需要对这些人进行分组: 青少年:≤30岁 中年人:30 <年龄≤60 老年人:60岁以下 这是代码,但它给了我一个错误:

def get_num_people_by_age_category(dataframe):
    young, middle_aged, old = (0, 0, 0)
    dataframe["age"] = pd.cut(x=dataframe['age'], bins=[30,31,60,61], labels=["young","middle_aged","old"])
    return young, middle_aged, old
ages = get_num_people_by_age_category(dataframe) 
print(dataframe)

1 个答案:

答案 0 :(得分:1)

下面的代码使用pd.cut()获取年龄段。

# Import libraries
import pandas as pd

# Create DataFrame
df = pd.DataFrame({
    'age': [1,20,30,31,50,60,61,80,90] #np.random.randint(1,100,50)
})

# Function: Copy-pasted from question and modified
def get_num_people_by_age_category(df):
    df["age_group"] = pd.cut(x=df['age'], bins=[0,30,60,100], labels=["young","middle_aged","old"])
    return df

# Call function
df = get_num_people_by_age_category(df)

输出

print(df)

   age    age_group
0    1        young
1   20        young
2   30        young
3   31  middle_aged
4   50  middle_aged
5   60  middle_aged
6   61          old
7   80          old
8   90          old