大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
缺失数据比较多的情况下,可以直接滤除,缺失数据比较少时,对数据进行填充就很有必要了。
数据填充函数fillna()默认参数如下:
fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
import numpy as np
from numpy import nan
import pandas as pd
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 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
print(data.fillna(0)) ### 用0填充缺失数据
0 1 2 3
a 0.0 0.0 0.0 6
b 0.0 0.0 0.0 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
print(data.fillna(data.mean())) ### 用每列特征的均值填充缺失数据
0 1 2 3
a 13.0 14.0 15.0 6
b 13.0 14.0 15.0 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
print(data.fillna(data.median())) ### 用每列特征的中位数填充缺失数据
0 1 2 3
a 13.0 14.0 15.0 6
b 13.0 14.0 15.0 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
print(data.fillna(method='bfill')) ### 用相邻后面(back)特征填充前面空值
0 1 2 3
a 11.0 12.0 13.0 6
b 11.0 12.0 13.0 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
data=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
data.iloc[1:2,:]=nan
print(data)
0 1 2 3
a 3.0 4.0 5.0 6.0
b NaN NaN NaN NaN
c 11.0 12.0 13.0 14.0
d 15.0 16.0 17.0 18.0
print(data.fillna(method='bfill')) ### 用相邻前面(before)特征填充后面空值
0 1 2 3
a 3.0 4.0 5.0 6.0
b 3.0 4.0 5.0 6.0
c 11.0 12.0 13.0 14.0
d 15.0 16.0 17.0 18.0
values={0:10,1:20,2:30}
print(data.fillna(value=values)) ### 用字典对不同的列填充不同的缺失数据
0 1 2 3
a 10.0 20.0 30.0 6
b 10.0 20.0 30.0 10
c 11.0 12.0 13.0 14
d 15.0 16.0 17.0 18
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170015.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...