datawhalechina / hands-on-data-analysis

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

WeiweJa opened this issue · comments

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()