Python大作业——爬虫+可视化+数据分析+数据库(数据分析篇)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
# 读取数据
df = pd.read_csv('data/preprocessed_data.csv')
# 分析每个特征的分布情况
for feature in df.columns:
if df[feature].dtype == 'O': # 对于对象类型,使用值计数
print(f'{feature}: {df[feature].nunique()} unique values')
else:
print(f'{feature}: {stats.describe(df[feature])}')
# 分析每个特征与目标变量之间的关系
def plot_feature_target_relation(feature, target):
fig, ax = plt.subplots(figsize=(10, 5))
sns.scatterplot(x=feature, y=target, data=df)
plt.title(f'{feature} vs {target}')
plt.show()
# 示例:分析“年龄”特征与目标变量“是否幸存”之间的关系
plot_feature_target_relation('Age', 'Survived')
# 分析各个Embarked值的Passenger数量
print(df['Embarked'].value_counts())
# 分析各个Pclass值的Survived比例
print(df.groupby('Pclass')['Survived'].mean())
# 分析各个Sex的Survived比例
print(df.groupby('Sex')['Survived'].mean())
# 分析各个SibSp值的Survived比例
print(df.groupby('SibSp')['Survived'].mean())
# 分析各个Parch值的Survived比例
print(df.groupby('Parch')['Survived'].mean())
# 分析各个Embarked值的Survived比例
print(df.groupby('Embarked')['Survived'].mean())
# 分析各个Title值的Survived比例
title_counts = df['Title'].value_counts()
survived_counts = df[df['Survived'] == 1]['Title'].value_counts()
print(survived_counts / title_counts)
# 分析各个Fare值的Survived比例
print(df.groupby('Fare')['Survived'].mean())
# 分析各个Cabin值的Survived比例
print(df.groupby('Cabin')['Survived'].mean())
这段代码提供了一个简化的数据分析流程,包括了基本的描述性统计分析,可视化以及基本的图形描述方法。这些方法可以帮助数据分析师快速了解数据集的特点,并进行进一步的探索和分析。
评论已关闭