datawhalechina / hands-on-data-analysis

动手学数据分析以项目为主线,知识点孕育其中,通过边学、边做、边引导来得到更好的学习效果
1.15k stars 357 forks source link

第二章第三节数据重构2任务7 #3

Open WeiweJa opened 3 years ago

WeiweJa commented 3 years ago

2.4.7:任务七:得出不同年龄的总的存活人数,然后找出存活人数的最高的年龄,最后计算存活人数最高的存活率(存活人数/总人数)

任务描述与答案个人认为不够符合,如存活人数的最高的年龄,答案实际为存活人数最多的年龄,存活人数最高的存活率实际为存货人数最高的年龄段的人数/总存活人数

1. 存活人数计算与总人数计算 可以使用 data['Survived'].value_counts()(data为读取的result.csv文件) 或者使用 data['Survived'].count() data['Survived'].sum()

2. 找出存活人数的最高的年龄 对存活人数根据年龄做一个从大到小的排序,第一个即为年龄最大的存活人数 data[(data['Survived'].values==1)].sort_values(by='Age',ascending=False) 或者直接给出最大存活人数的年龄

 data_survived = data[(data['Survived'].values==1)]
 data_survived['Age'].max()

3. 找出不同年龄的存活人数

survived_age = data['Survived'].groupby(data['Age']).sum()
survived_age.head()

4. 找出存活人数最多的年龄 survived_age[survived_age.values==survived_age.max()]

5. 计算各个年龄段的存活率

# 不同年龄段的存活人数
survived_age = data['Survived'].groupby(data['Age']).sum()
survived_age
# 不同年龄段的总人数
age_count = data['Survived'].groupby(data['Age']).count()
age_count
# 各个年龄段的存活率
survived_percent = survived_age / age_count * 1.00
survived_percent.head()
# 总存活率
data['Survived'].sum() / data['Survived'].count()