这是一个创建于 1431 天前的主题,其中的信息可能已经有所发展或是发生改变。
使用最经典的泰坦尼克数据集如何快速清洗数据?今天番茄加速就来给大家演示一下。
首先导入包:
import numpy as np import pandas as pd import seaborn as snsimport matplotlib.pyplot as plt
导入数据
df = pd.read_csv('./kaggle-data/titanic/train.csv')
找到所有列的 None 值
df.isnull().sum()
PassengerId 0Survived 0Pclass 0Name 0Sex 0Age 177SibSp 0Parch 0Ticket 0Fare 0Cabin 687Embarked 2dtype: int64
Age 列较多,使用平均值填充
df['Age'] = df['Age'].transform(lambda val: val.fillna(val.mean()))
sex 列映射 male 为 0,female 为 1
df['Sex'] = df['Sex'].map({'male': 0, 'female': 1})df = df.fillna(0)
接下来就是最关键的,使用 corr 方法,找出各个变量间的相关系数,并使用 heatmap 绘制相关性:
plt.figure(figsize=(8,6), dpi=150)sns.heatmap(data=df.corr(), cmap='coolwarm', annot=True)
找出与 survived 列最相关的几个特征:
np.abs(df.corr()['Survived']).sort_values().tail(6)
去掉相关不大的列,得到如下影响 survived 最大的特征 DataFrame:
X = df.drop(['Survived', 'Cabin', 'Name', 'Embarked', 'Ticket'], axis=1)
3 条回复 • 2020-12-25 11:05:40 +08:00
|
|
1
sadfQED2 2020-12-24 19:04:38 +08:00 via Android
现在的推广连背景都不交代下?
|
|
|
2
GeruzoniAnsasu 2020-12-24 19:41:05 +08:00
软文写得连要推广的自家东西都忘了放进去我还是第一次见
|
|
|
3
julyclyde 2020-12-25 11:05:40 +08:00
就是啊,网址呢?企业名呢?
|