分析年龄组和生存率之间的相关性
问题描述:
#First, I divide the age group as follow ,
# 1. group A: 0-17years old;
# 2. group B: 18-35years old
# 3. group C: 36-50years old
# 4. group D: 51-65years old
# 5. group E: above 66 years old
#Then I begin to write code extact the CVC data
Passenger_Age={"PassengerId":titanic["PassengerId"][:],"Age":titanic["Age"][:]}
Passenger_Age_df = pd.DataFrame(Passenger_Age,columns =["Age","PassengerId"])
Passenger_Survived={"PassengerId":titanic["PassengerId"[:],"Survived":titanic["Survived"][:]}
Passenger_Survived_df = pd.DataFrame(Passenger_Survived,columns = ["Survived","PassengerId"])
# consider there are some NAN in Age, so wirte the blow cod to drop the Age data
cleaned_Passenger_Age_df = Passenger_Age_df.dropna()
关于下一步,我想合并两个数据框“cleaned_Passenger_Age_df”和“Passenger_Survived_df”。
之后,使用applymap功能的年龄转换随后根据该以ABCDE
找到年龄组的幸存率
我的问题是SMY思路是清晰的,但我不知道写代码,可能有人帮助我?谢谢!分析年龄组和生存率之间的相关性
答
您可以使用pd.cut()
到组的年龄,例如:
group_names = ['A','B','C','D','E']
bins = [0,17,35,50,65,1000]
df['Age_Group'] = pd.cut(df['Age'], bins=bins, labels=group_names)
更多细节: pandas.cut
至于计算幸存率,你可以只使用组由,如:
df.groupby(['Age_Group','Survived']).count()/total_numbers