import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #准备数据 survived=[0,1,1,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0] pclass=[3,1,3,1,3,1,3,1,1,3,3,1,3,1,3,1,3,1,1,3] sex=['m','w','w','m','w','w','m','w','w','m','w','w','m','w','w','m','w','w','w','m'] age=[22.0,45.0,21.0,22.0,22.0,45.0,21.0,22.0,36.0,27.0,22.0,45.0,21.0,22.0,22.0,45.0,21.0,22.0,36.0,27.0] fare=[7.23,71.28,12.45,12.67,11.89,32.78,12.87,45.36,21.98,12.90,7.23,71.28,12.45,12.67,11.89,32.78,12.87,45.36,21.98,12.90] #将数据存到DF,csv,DF 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="%.f%%") plt.title("关系图") plt.show()