import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
#准备数据
survived=[0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0]
pclass= [3,1,1,3,1,3,1,1,3,1,3,1,1,3,1,3,1,1,3,1]
sex=['m','w','w','m','w','m','w','w','m','w','m','w','w','m','w','m','w','w','m','w']
age=[22.0,38.0,26.0,12.6,36.2,22.0,38.0,26.0,12.6,36.2,22.0,38.0,26.0,12.6,36.2,22.0,38.0,26.0,12.6,36.2]
fare=[7.26,58,6.2,96.3,14.5,7.26,58,6.2,96.3,14.5,7.26,58,6.2,96.3,14.5,7.26,58,6.2,96.3,14.5]
#将数据转存
df=pd.DataFrame({'survived':survived,'pclass':pclass,'sex':sex,'age':age,'fare':fare})
df.to_csv('titanic.csv')
df2=pd.read_csv('titanic.csv')
#处理数据
df3=df2.groupby('pclass').sum()/df2.groupby('pclass').count()
plt.subplot(1,3,1)#第一个子图
plt.bar(df3.index,df3['survived'])
plt.title('生存率关系图')
plt.xlabel('位等')
plt.ylabel('生存率')
df3=df2.groupby('sex').sum()/df2.groupby('sex').count()
plt.subplot(1,3,2)#第二个子图
plt.bar(df3.index,df3['survived'])
plt.title('生存率关系图')
plt.xlabel('位等')
plt.ylabel('生存率')
df3=df2.groupby('survived').size()/len(df2)
plt.subplot(1,3,3)#第三个子图
plt.pie(df3,labels=df3.index,autopct='%.1f%%')
plt.title('生存率关系图')
plt.show()
python数据分析
于 2022-06-01 14:46:04 首次发布
这段代码展示了如何利用Python对泰坦尼克号乘客数据进行预处理和分析,计算不同乘客等级和性别的生存率,并通过条形图和饼图展示结果。数据包括生存状态、乘客等级、性别、年龄和票价等信息。
1万+

被折叠的 条评论
为什么被折叠?



