有以下兩種方法
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元資料定義之間的對映。使...