第二章 資料清洗及特徵處理

2021-10-23 14:59:57 字數 1733 閱讀 9233

有以下兩種方法

df.info(

)#可以直接看到不缺失的值的數量

df.isnull().

sum(

)# 統計缺失值的數量

單獨提取 age cabin embarked這三個特徵

df[

['age'

,'cabin'

,'embarked']]

.head(

3)

兩種比較優劣

df[df[

'age'

]== np.nan]=0

df[df[

'age']==

none]=

0

數值列讀取資料後,空缺值的資料型別為float64所以用none一般索引不到,比較的時候最好用np.nan

dropna函式和fillna函式的用法

dropna函式

fillna函式

我們對特徵進行一下觀察,可以把特徵大概分為兩大類:

數值型特徵:survived ,pclass, age ,sibsp, parch, fare,其中survived, pclass為離散型數值特徵,age,sibsp, parch, fare為連續型數值特徵

文字型特徵:name, ***, cabin,embarked, ticket,其中***, cabin, embarked, ticket為類別型文字特徵。

數值型特徵一般可以直接用於模型的訓練,但有時候為了模型的穩定性及魯棒性會對連續變數進行離散化。文字型特徵往往需要轉換成數值型特徵才能用於建模分析。

#將連續變數age平均分箱成5個年齡段,並分別用類別變數12345表示

df['ageband'

]= pd.cut(df[

'age'],

5,labels =

['1'

,'2'

,'3'

,'4'

,'5'])

#將連續變數age劃分為[0,5) [5,15) [15,30) [30,50) [50,80)五個年齡段,並分別用類別變數12345表示

df['ageband'

]= pd.cut(df[

'age'],

[0,5

,15,30

,50,80

],labels =

['1'

,'2'

,'3'

,'4'

,'5'

])

方法一

方法二

df[

'***'

].unique(

)df[

'***'

].nunique(

)

df[

'title'

]= df.name.

str.extract(

'([a-za-z]+)\.'

, expand=

false

)

參考鏈結

新增鏈結描述

資料清洗及特徵處理

import numpy as np import pandas as pd df pd.read csv train.csv 檢視每個特徵缺失值個數 df.info df.isnull sum df.dropna df.fillna 對age列的資料缺失值進行處理 df df age none 0...

python 第二章 資料處理

1 去除重複值 1 利用pdandas的dataframe 中的df.duplicated 顯示是否有重複值,重複則為true,沒有重複則為false。df.duplicated df.duplicated 某列 2 再利用drop.duplicates返回去除重複值的dataframe。df.dr...

第二章 資料契約

在乙個服務內部,功能性的應用由 實現的。在服務外部,功能性服務在wsdl中定義。在乙個wcf服務中,應用程式資料在簡單和複雜型別表示 而在服務外部,應用程式資料由xml元資料定義表示。wcf資料契約提供了對 定義的.net clr型別與w3c組織定義用來在服務外部通訊的xml元資料定義之間的對映。使...