用python代码写出泰坦尼克号基于不同维度的生存率数据,如性别、年龄、客舱等级 2.对采集的数据进行处理,并转换成适合进行数据可视化的结构 3.按不同维度对生存率数据进行可视化
时间: 2024-02-29 15:52:03 浏览: 88
以下是Python代码:
1. 采集泰坦尼克号基于不同维度的生存率数据
我们可以使用Pandas库来读取Kaggle官网上的泰坦尼克号乘客数据集。
```python
import pandas as pd
# 读取数据集
df = pd.read_csv('titanic.csv')
```
2. 对采集的数据进行处理,并转换成适合进行数据可视化的结构
我们需要对数据进行清洗和转换,例如将年龄数据转换为年龄段、将客舱等级数据转换为文本标签等。
```python
# 将年龄数据转换为年龄段
df['Age'] = pd.cut(df['Age'], bins=[0, 18, 35, 50, 80], labels=['0-18', '18-35', '35-50', '50+'])
# 将客舱等级转换为文本标签
df['Pclass'] = df['Pclass'].map({1: 'Upper', 2: 'Middle', 3: 'Lower'})
# 删除缺失值
df.dropna(inplace=True)
# 保存处理后的数据
df.to_csv('titanic_processed.csv', index=False)
```
3. 按不同维度对生存率数据进行可视化
我们可以使用Seaborn库来进行数据可视化,例如绘制柱形图、堆叠柱形图、饼图、词云图等。
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 按性别绘制生存率柱形图
sns.barplot(x='Sex', y='Survived', data=df)
plt.title('Survival Rate by Sex')
plt.show()
# 按年龄段和性别绘制生存率堆叠柱形图
sns.barplot(x='Age', y='Survived', hue='Sex', data=df)
plt.title('Survival Rate by Age and Sex')
plt.show()
# 按客舱等级绘制生存率柱形图
sns.barplot(x='Pclass', y='Survived', data=df)
plt.title('Survival Rate by Pclass')
plt.show()
# 按客舱等级和性别绘制生存率堆叠柱形图
sns.barplot(x='Pclass', y='Survived', hue='Sex', data=df)
plt.title('Survival Rate by Pclass and Sex')
plt.show()
# 按不同乘客类型绘制生存率饼图
sns.set_palette('Set2')
df['Survived'].value_counts().plot(kind='pie', autopct='%1.1f%%')
plt.title('Survival Rate of All Passengers')
plt.show()
# 按不同乘客类型绘制生存率词云图
from wordcloud import WordCloud
wc = WordCloud(background_color='white', width=800, height=600)
wc.generate_from_frequencies(df['Survived'].value_counts())
plt.imshow(wc)
plt.axis('off')
plt.show()
```
通过以上代码,我们可以生成不同维度的生存率可视化图表,以便于深入分析泰坦尼克号乘客的生存情况。
阅读全文