Pandas函数interpolate的使用

3 篇文章 0 订阅
1 篇文章 0 订阅

interpolate函数方法的使用

函数介绍

interpolate是一个插值函数,用插值方法填充 NaN 值

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

参数
  • method : str,默认为‘linear’
    可选方法:
    ‘linear’ - 忽略索引,并将值等距地对待
    ‘pad’ - 使用现有值填写NaN
    ‘index’, ‘values’ - 使用索引的实际数值
    ‘time’ - 处理每日和更高分辨率的数据
  • axis : {0或’index’,1或’columns’,None},默认为None
    沿轴进行interpolate
  • limit : 整数,可选
    要填充的连续NaN的最大数量,必须大于0
  • inplace : bool,默认为False
    更新数据
  • limit_direction : {‘forward’,‘backward’,‘both’},默认为’forward’
    如果指定了限制,则将沿该方向填充连续的NaN

使用示例

import pandas as pd
data = {"grammer":["Python", "C", "Java", "Go", np.NaN, "SQL", "PHP", "Python"],
	    "popularity":[1.0, 2.0, np.NaN, 4.0, 5.0, 6.0, np.NaN, 10.0]}
df = pd.DataFrame(data)
df
grammerpopularity
0Python1.0
1C2.0
2JavaNaN
3GO4.0
4NaN5.0
5SQL6.0
6PHPNaN
7Python10.0

1.线性等距插值,即popularity列中空值用上下值的平均值填充

df['popularity'] = df['popularity'].fillna(df['popularity'].interpolate())
df
grammerpopularity
0Python1.0
1C2.0
2Java3.0
3Go4.0
4NaN5.0
5SQL6.0
6PHP8.0
7Python10.0

2.连续插值,即选用前一个值来填充

df['popularity'] = df['popularity'].fillna(df['popularity'].interpolate(method="pad"))
df
grammerpopularity
0Python1.0
1C2.0
2Java2.0
3Go4.0
4NaN5.0
5SQL6.0
6PHP6.0
7Python10.0

interpolate函数官方参考链接

  • 12
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值