使用最经典的泰坦尼克数据集如何快速清洗数据?

使用最经典的泰坦尼克数据集如何快速清洗数据?今天番茄加速就来给大家演示一下。在这里插入图片描述

首先导入包:

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值