2017-10-21 61 views
0
#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思路是清晰的,但我不知道写代码,可能有人帮助我?谢谢!分析年龄组和生存率之间的相关性

回答

0

您可以使用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