大数据(一)数据采集 3

本文介绍了Pandas库中处理数据缺失值的插值方法`df.interpolate()`,强调了线性插值在平滑数据的重要性。此外,讨论了如何处理不可能的值,包括使用`df.replace()`和数据校验方法。最后提到了处理极端值(Outliers)的策略,如计算标准化值和百分位数,并展示了如何发现和替换极端值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据采集3:

关于pandas的函数都在官方API有写,哪个参数不会用首先应该去查这个

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.interpolate.html

 

-------------------------------------------------------------0---------------------------------------------------------------------

 

1.df.interpolate() 插值函数(即填充空白值更平滑的方法,因为某些数据需要平滑过渡,比如温度不能骤降或者骤升)

在数据采集2里面我们详解了fillna的用法,但是尽管它可以用前一个值或后一个值来填补相邻位置的空白值,

df.fillna()这种填充往往是不合理的,比如说温度不能骤升骤降,的空白值显然是用两个点的平均值更合理。

 

(1) df.interpolate() 插值函数 取平均数

关于interpolate插值的用法,英文的值得参考:

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.interpolate.html

它有很多参数,这里不一一列举,method 默认的话是线性插值,大家可能忘了线性插值了,就是用两点间的直线去近似原函数。所以两个相邻的点之间如果有NaN的话,这个NaN会被填补为两点的平均数。

method : {‘linear’, ‘time’, ‘index’, ‘values’, ‘nearest’, ‘zero’,‘slinear’, ‘quadratic’, ‘cubic’, ‘barycentric’, ‘krogh’, ‘polynomial’, ‘spline’, ‘piecewise_polynomial’, ‘from_derivatives’, ‘pchip’, ‘akima’}

 

(2)df.interpolate(method = 'time' )  根据时间间隔来计算 使数值更平滑

df的index索引一定得是时间格式的,df它会查你的索引,这样就能计算出来时间差。

例如: 这样温度它也会按时间计算线性插值

 

-------------------------------------------------------------------- 1 ----------------------------------------------------------------------------------------

2.如何处理 不可能出现的值(df.replace()或数据校验方法-->转化为NaN---> fillna()或interpolate()  )

现在是有值,只是值不能用,那就需要先转化为空白值,再填充它。

 

(1)df.replace()

有时候数据库里会用特别极端的值代替不可能出现的数据,我们需要通过df.replace() 来替换为NaN。

以下例子有5种用法,第1种替换单个值为NaN,第2种一次替换多个值为NaN,第3种按列替换为NaN

第4种 我可以对每一列用正则表达式(对整个表直接用regex很容易刷掉有效数据),比如说天气就不适合出现数字,年龄不适合出现字母。有这些内容的我都给它替换成NaN。

第5种,我不替换为NaN了,我替换成一个list,都给比较合理的值。

import numpy as np 
import p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值