Python学习笔记:数据清洗之缺失值填充fillna
生活随笔
收集整理的這篇文章主要介紹了
Python学习笔记:数据清洗之缺失值填充fillna
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在數(shù)據(jù)建模過程中,針對入模的數(shù)據(jù)需做數(shù)據(jù)清洗,特別針對缺失數(shù)據(jù)。
缺失數(shù)據(jù)比較多的情況下,可以考慮直接刪除;缺失數(shù)據(jù)較少的情況下,可對數(shù)據(jù)進(jìn)行填充。
此時,fillna() 則派上用場。語法為:
fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
# inplace=True 直接修改原對象 缺省False
# method取值:pad、ffill、backfill、bfill、None 缺省None
# pad/ffill:用前一個非缺失值填充
# backfill/bfill:用后一個非缺失值填充
# limit:限制填充個數(shù)
# axis:修改填充方向
創(chuàng)建測試數(shù)據(jù)框:
import pandas as pd
import numpy as np
from numpy import nan
data = pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
data.iloc[0:2, 0:3] = nan
print(data)
'''
0 1 2 3
a 3 4 5 6
b 7 8 9 10
c 11 12 13 14
d 15 16 17 18
0 1 2 3
a NaN NaN NaN 6
b NaN NaN NaN 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
'''
用0填充
data.fillna(0)
用每列特征的均值填充
data.fillna(data.mean())
用每列特征的中位數(shù)填充
data.fillna(data.median())
用相鄰后面(back)特征填充前面缺失值
data.fillna(method='bfill')
用相鄰前面(before)特征填充后面空值
import pandas as pd
import numpy as np
from numpy import nan
data = pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
print(data)
data.iloc[1:2, 0:3] = nan
print(data)
data.fillna(method='pad')
利用字典對不同列填充不同值
values = {0:10, 1:20, 2:30} # 列名:填充值
data.fillna(value=values)
控制填充個數(shù)
data.fillna(method='bfill', limit=2)
按行填充
data.fillna(method='ffill', limit=1, axis=1)
參考鏈接:fillna()函數(shù)詳解
參考鏈接:Python 數(shù)據(jù)清洗之缺失數(shù)據(jù)填充fillna()
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记:数据清洗之缺失值填充fillna的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米手机常见刷机问题汇总及解决方法
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?