參考資料
pandas官方文件 release 0.23.4
利用python進行資料分析 第二版 wes mckinney
函式功能:當dataframe資料**現缺失值時,刪除這些缺失值所在的軸(滿足特定條件)
呼叫方法:
df = data.dropna(axis=0,how='any',thresh=none,subset=none,inplace=false)
引數說明:
axis :為軸方向 : 預設為axis=0
當axis=0,當某行出現缺失值時,將該行丟棄並返回
當axis=1,當某列出現缺失值時,將改列丟棄並返回
how :確定缺失值的個數:預設時為how=『any』
how=『any』 ,表明只要某行或者列出現缺失值就將該行列丟棄
how=『all』 ,表明某行列全部為缺失值才將其丟棄
thresh:閾值設定
當行列中非預設值的數量少於給定的值就將該行丟棄
subset:部分標籤中刪除某行列
subset = [ 'a','d'] 即丟棄子列 a d 中含有缺失值的行
iniplace: bool取值,預設false
當inplace= true, 即對原資料操作,沒有返回值
**例子如下:
>>>import numpy as np
>>>import pandas as pd
>>>from pandas import series,dataframe
>>>dt = dataframe(np.arange(20).reshape(4,5),columns=['a','b','c','d','e'])
>>>for i in range(4):
... for j in range(4-i):
... dt.iloc[i,j] = np.nan
>>>dt
a b c d e
0 0.0 1.0 2.0 3 4
1 nan nan nan 8 9
2 nan nan 12.0 13 14
3 nan 16.0 17.0 18 19
>>>dt.dropna()
a b c d e
0 0.0 1.0 2.0 3 4
>>>dt.dropna(axis = 1)
d e
0 3 4
1 8 9
2 13 14
3 18 19
>>>dt.dropna(how='all') #因為每一行都有非缺失值,所以不丟棄任何行
a b c d e
0 0.0 1.0 2.0 3 4
1 nan nan nan 8 9
2 nan nan 12.0 13 14
3 nan 16.0 17.0 18 19
>>>dt.dropna(thresh=4) #因為第1行和第2行中非缺失值少於4個,所以丟棄,只剩下第0行和第3行
a b c d e
0 0.0 1.0 2.0 3 4
3 nan 16.0 17.0 18 19
>>>dt.dropna(subset=['b','d']) #標籤a列和b列中對應的第1行和第2行中有缺失值
a b c d e
0 0.0 1.0 2.0 3 4
3 nan 16.0 17.0 18 19
>>>dt.dropna(inplace = true)
>>>dt
a b c d e
0 0.0 1.0 2.0 3 4
完結。。。。。。
歡迎交流 email : [email protected]
pandas 填充缺失值
當資料中存在nan缺失值時,我們可以用其他數值替代nan,主要用到了dataframe.fillna 方法,下面我們來看看具體的用法 1.先來建立乙個帶有缺失值的dataframe 2.使用0替代缺失值 當然你可以用任意乙個數字代替nan df.fillna 0 3.用乙個字串代替缺失值 df.fi...
Pandas 缺失值處理
二 處理缺失值 首先拿到乙份資料,以dataframe提取後,要檢視缺失值的情況 import pandas as pd df pd.read csv df.isnull 獲得true,false的返回值 df.isnull sum 判斷缺失的數量常用此介面來快速判斷各特徵的缺失值情況!df.dro...
Pandas缺失值處理
判斷資料是否為nan pd.isnull df pd.notnull df 判斷缺失值是否存在 np.all pd.notnull data 返回false代表有空值 np.any pd.isnull data 返回true代表有空值處理方式 2 替換缺失值 fillna value,inplace...