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

2020-12-24 17:32:18 +08:00
 fanqieipnet
使用最经典的泰坦尼克数据集如何快速清洗数据?今天番茄加速就来给大家演示一下。

  首先导入包:

   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)
909 次点击
所在节点    推广
3 条回复
sadfQED2
2020-12-24 19:04:38 +08:00
现在的推广连背景都不交代下?
GeruzoniAnsasu
2020-12-24 19:41:05 +08:00
软文写得连要推广的自家东西都忘了放进去我还是第一次见
julyclyde
2020-12-25 11:05:40 +08:00
就是啊,网址呢?企业名呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738669

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX