加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

导入数据开启实践

发布时间:2021-05-17 13:42:53 所属栏目:大数据 来源:互联网
导读:今天我们分析的titanic 数据,数据我已经下载,并且放在项目路径下的data 文件中。 importpandas as pd file= data/titanic_train.csv raw_df=pd.read_csv(file) 接下来就是标准套路:预览info以及预览head。 print(raw_df.info()) print(raw_df.head()) 我

今天我们分析的titanic 数据,数据我已经下载,并且放在项目路径下的data 文件中。


  1. import pandas as pd 
  2. file = 'data/titanic_train.csv' 
  3. raw_df = pd.read_csv(file) 

接下来就是标准套路:预览info以及预览head。


  1. print(raw_df.info()) 
  2. print(raw_df.head()) 

我们对数据集的名称进行简单的回顾:

  • RangeIndex: 891 entries, 0 to 890:表示891 个样本
  • columns :共12 列

按数据类型来划分:

int64 :

  • PassengerId :乘客ID
  • Survived:是否生存,1 为生存
  • Pclass :乘客级别
  • SibSp :sibling and spouse (兄弟姐妹以及配偶个数)Parch :parents and children(父母以及子女个数)

object:

  • Name: 名字
  • Sex:性别
  • Ticket :船票编号
  • Cabin:船舱号
  • Embarked:登船地点

float64:

  • Age:年龄
  • Fare 票价

  1. RangeIndex: 891 entries, 0 to 890 
  2. Data columns (total 12 columns): 
  3.  #   Column       Non-Null Count  Dtype   
  4. ---  ------       --------------  -----   
  5.  0   PassengerId  891 non-null    int64   
  6.  1   Survived     891 non-null    int64   
  7.  2   Pclass       891 non-null    int64   
  8.  3   Name         891 non-null    object  
  9.  4   Sex          891 non-null    object  
  10.  5   Age          714 non-null    float64 
  11.  6   SibSp        891 non-null    int64   
  12.  7   Parch        891 non-null    int64   
  13.  8   Ticket       891 non-null    object  
  14.  9   Fare         891 non-null    float64 
  15.  10  Cabin        204 non-null    object  
  16.  11  Embarked     889 non-null    object  
  17. dtypes: float64(2), int64(5), object(5) 
  18. memory usage: 83.7+ KB 

一般的机器学习都不会预处理缺失值以及类别型数据,因此我们至少要对这两种情形做预处理。

首先我们查看缺失值,其实上文中的info已经有这样的信息。这里我们更显式的展示缺失信息。


  1. # get null count for each columns 
  2. nulls_per_column = raw_df.isnull().sum() 
  3. print(nulls_per_column) 

结果如下:


  1. PassengerId       0 
  2. Survived             0 
  3. Pclass                 0 
  4. Name                 0 
  5. Sex                     0 
  6. Age                177 
  7. SibSp                  0 
  8. Parch                  0 
  9. Ticket                 0 
  10. Fare                    0 
  11. Cabin             687 
  12. Embarked          2 
  13. dtype: int64 

可以看到Age 有缺失,Age是float64 类型数据,Cabin 有缺失,Cabin 为object 类型,Embarked 有缺失,Embarked 也是object 类型。

主角登场(策略与函数)

上述我们可以看到缺失的列有哪些,对于有些情况,比如快速清理数据,我们仅仅会制定如下策略:

对于float类型,我们一般就是用均值或者中位数来代替 对于object 类型,如果ordinal 类型,也就是严格类别之分,比如(男,女),比如(高,中,低)等,一般就用众数来替代 对于object 类型,如果nominal类型,也就是没有等级/严格类别关系,比如ID,我们就用常值来替代。本文中用到的是sklearn的preprocessing 模块,pipeline模块,以及一个第三方“新秀”sklearn_pandas 库。

这里我们简单的介绍这个函数的用途。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读