首页 » 网站建设 » phpint填充0技巧_Pandas进阶修炼120题之题目4将空值用高下值的平均值填充

phpint填充0技巧_Pandas进阶修炼120题之题目4将空值用高下值的平均值填充

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

正文:

将字典创建为DataFrame

phpint填充0技巧_Pandas进阶修炼120题之题目4将空值用高下值的平均值填充

#将字典创建为DataFramedata_dict={"Grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","python"],"Score":[1,2,np.nan,4,5,6,7,10]}data = pd.DataFrame(data_dict)data

phpint填充0技巧_Pandas进阶修炼120题之题目4将空值用高下值的平均值填充
(图片来自网络侵删)

需求描述

1.数值列 空值添补;

2.空值的上一行与下一行的均匀数进行添补

数据理解

1.根据数据可得数据列为Score;

2.数值列Score处于第三行,个中第二行Score值为2,第三行Score为4,则空值的上一行与下一行的均匀数是(2+4)/2=3

代码实现

data['Score']=data['Score'].fillna(data['Score'].interpolate())data

题外:

缺失落数据添补fillna()利用

函数形式:fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, kwargs)

参数:

value:用于添补的空值的值。
method: {'backfill', 'bfill', 'pad', 'ffill', None}, default None。
定义了添补空值的方法, pad / ffill表示用前面行/列的值,添补任前行/列的空值, backfill / bfill表示用后面行/列的值,添补任前行/列的空值。
axis:轴。
0或'index',表示按行删除;1或'columns',表示按列删除。
inplace:是否原地更换。
布尔值,默认为False。
如果为True,则在原DataFrame上进行操作,返回值为None。
limit:int, default None。
如果method被指定,对付连续的空值,这段连续区域,最多添补前 limit 个空值(如果存在多段连续区域,每段最多添补前 limit 个空值)。
如果method未被指定, 在该axis下,最多添补前 limit 个空值(不论空值连续区间是否间断)downcast:dict, default is None,字典中的项为,为类型向下转换规则。
或者为字符串“infer”,此时会在得当的等价类型之间进行向下转换,比如float64 to int64 if possible。

示例1.将Score列空值添补为0

data['Score']=data['Score'].fillna(0)data

2.用前面行的值,添补任前行的值

data['Score'].fillna(method='pad')

3.backfill / bfill表示用后面行/列的值,添补任前行/列的空值

data['Score']=data['Score'].fillna(method='backfill')data

插值函数interpolate

DataFrame.interpolate(method=‘linear’, axis=0, limit=None, inplace=False, limit_direction=None, limit_area=None, downcast=None, kwargs)

method : str,默认为‘linear’,利用插值技能。
之一:‘linear’:忽略索引,并将值等距地对待。
这是MultiIndexes支持的唯一方法。
‘time’: 处理逐日和更高分辨率的数据,以内插给定的韶光间隔长度。
‘index’, ‘values’: 利用索引的实际数值。
'pad':利用现有值填写NaN。
‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘spline’, ‘barycentric’, ‘polynomial’: 通报给 scipy.interpolate.interp1d。
这些方法利用索引的数值。
‘polynomial’ 和 ‘spline’ 都哀求您还指定一个顺序(int),例如 ,df.interpolate(method='polynomial', order=5)'krogh','piecewise_polynomial','spline','pchip','akima':环抱类似名称的SciPy插值方法。
请参阅注释。

axis : {0或'index',1或'columns',None},默认为None,沿轴进行interpolate。

limit : 整数,可选,要添补的连续NaN的最大数量。
必须大于0。

inplace : bool,默认为False尽可能更新数据。

limit_direction : {'forward','backward','both'},默认为'forward',如果指定了限定,则将沿该方向添补连续的NaN。

limit_area : {None, ‘inside’, ‘outside’}, 默认为None,如果指定了限定,则连续的NaN将添补此限定。
None:无添补限定。
‘inside’:仅添补有效值(interpolate)包围的NaN。
‘outside’: 仅在有效值之外(extrapolate)添补NaN。
0.23.0版中的新功能。

downcast : 可选, ‘infer’ 或None,默认为None,如果可能,请向下转换dtype。

kwargs,关键字参数通报给插值函数。

1.添补NaN在Series通过线性内插

s = pd.Series([0, 1, np.nan, 3])s.interpolate()

总结:本次案例利用了两个函数:分别是fillna()、interpolate(),根据不同函数性子,对数据进行处理。

标签:

相关文章

php为无色透明技巧_水货钻石其实也还行

从各种钻石中,可以看到大大小小的“包裹体” 图片来源:参考文献包裹体的种类多样。比钻石形成更早的包裹体,叫“原生包裹体”;与钻石同...

网站建设 2024-12-19 阅读0 评论0

phpstudy发送gbk技巧_php的文件上传

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己去世磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步...

网站建设 2024-12-19 阅读0 评论0