六月下旬全新资源上线!丨 解锁高效能实战方案

更新亮点:本次新增5大专题9项资源,点击标题5分钟极速了解!参与互动赢取麦豆,解锁更多内容)

一、实战技巧分享

即席/透视的逆袭之路:从卡顿到秒出→ 性能优化实战,实现报表秒级响应!

体验中心焕新一“夏”,全新导览页及新DEMO上线!→ 抢先体验夏季更新DEMO!

速看!明细/汇总/交叉表的实现秘籍→ 高效构建复杂报表指南

二、开发技能突破

视频课《仪表盘图片鼠标提示几行代码,让你的仪表盘“会说话”!

视频课《仪表盘宏开发技巧→ 解锁宏开发技巧和注意事项

三、直播上线

直播《交互式仪表盘最佳实践解锁可视化大屏最佳实践技巧

四、AI每日一学

人工智能三驾马车:算法、算力与数据→ 深度解析AI核心支柱

通俗的讲一下神经网络模型的基本组成、工作原理、工作类型和生活应用场景→ 从基础到场景实战

五、资源上新

插件《安全检测→ 一键加固系统安全防护

麦粉社区
>
帖子详情

python学习篇-pandas库(九)

数据挖掘 发表于 2019-12-25 16:32
发表于 2019-12-25 16:32:45
插值法填补缺失值
函数DataFrame.interpolate()
参数method:默认linear
  • ‘linear’:忽略索引并将值视为等间距
  • index’, ‘values’:使用索引的实际数值
  • ‘pad’:用现有的数据填写NaN
  • ‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘spline’, ‘barycentric’, ‘polynomial’:
      'polynomial'和'spline'都要求指定一个order(int)

参数limit:int,要填充的NaN值的最大个数,必须大于0
参数limit_direction:{‘forward’, ‘backward’, ‘both’}, default ‘forward’,如果指定了limit,则按此方向填充连续的NaN
1、Series通过linear方法填充NaN
  1. s = pd.Series([0, 2, np.nan, np.nan,8])
  2. print(s)
  3. s.interpolate(method='linear')
复制代码
524055e031678965a3.png
2、根据现有数据填充NaN
  1. s = pd.Series([0, 2, np.nan, np.nan,8,np.nan])
  2. print(s)
  3. s.interpolate(method='pad',limit=1)
复制代码
718705e03173cb49de.png
3、使用多项式方法填充
  1. s = pd.Series([0, 2, np.nan, np.nan,8,np.nan])
  2. print(s)
  3. s.interpolate(method='polynomial',order=2)
复制代码
506765e031b8ff322c.png
4、指点方向填充数值
  1. df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),
  2. ...                    (np.nan, 2.0, np.nan, np.nan),
  3. ...                    (2.0, 3.0, np.nan, 9.0),
  4. ...                    (np.nan, 4.0, -4.0, 16.0)],
  5. ...                   columns=list('abcd'))
  6. print(df)
  7. df.interpolate(methmod='linear',limit_direction='backward',axis=0)
复制代码
321795e031d7118fea.png
5、对某一列作填充数值操作
  1. print(df['d'])
  2. df['d'].interpolate(method='polynomial',order=2)
复制代码
349635e031e7788e76.png
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 6017浏览人数
最后回复于:2019-12-25 16:32
快速回复 返回顶部 返回列表