前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python数据处理——对pandas进行数据变频或插值实例

python数据处理——对pandas进行数据变频或插值实例

作者头像
砸漏
发布2020-11-04 10:24:13
1.1K0
发布2020-11-04 10:24:13
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

这里首先要介绍官方文档,对python有了进一步深度的学习的大家们应该会发现,网上不管csdn或者简书上还是什么地方,教程来源基本就是官方文档,所以英语只要还过的去,推荐看官方文档,就算不够好,也可以只看它里面的sample就够了

好了,不说废话,看我的代码:

代码语言:javascript
复制
import pandas as pd
import numpy as np
rng = pd.date_range('20180101', periods=40)
ts = pd.Series(np.arange(1,41), index=rng)#这一行和上一行生成了一个index为时间,一共40天的数据
ts_m = ts.resample('M').asfreq()#对数据进行按月重采样,之后再asfreq()
print(ts)
print(ts_m)

tips:因为发生了一些事,所以没有写完这部分先这样吧,后面我再补全

结果在下面,大家看按照月度‘M’采样,会抓取到月末的数据,1月31日和2月28日,嗯,后面的asfreq()是需要的,不然返回的就只是一个resample对象,当然除了M以外,也可以自己进行随意的设置频率,比如说‘3M’三个月,‘5T’五分钟,‘30S’三十秒,更多精彩内容请多多查看文档

代码语言:javascript
复制
2018-01-07   7
2018-01-08   8
2018-01-09   9
2018-01-10  10
2018-01-11  11
2018-01-12  12
2018-01-13  13
2018-01-14  14
2018-01-15  15
2018-01-16  16
2018-01-17  17
2018-01-18  18
2018-01-19  19
2018-01-20  20
2018-01-21  21
2018-01-22  22
2018-01-23  23
2018-01-24  24
2018-01-25  25
2018-01-26  26
2018-01-27  27
2018-01-28  28
2018-01-29  29
2018-01-30  30
2018-01-31  31
2018-02-01  32
2018-02-02  33
2018-02-03  34
2018-02-04  35
2018-02-05  36
2018-02-06  37
2018-02-07  38
2018-02-08  39
2018-02-09  40
Freq: D, dtype: int32
2018-01-31  31.0
2018-02-28   NaN
Freq: M, dtype: float64

至于这个asfreq(),用法是这样的:

代码语言:javascript
复制
# to 45 minute frequency and forward fill
In [5]: converted = ts.asfreq('45Min', method='pad')
 
In [6]: converted.head()
Out[6]: 
2011-01-01 00:00:00  0.469112
2011-01-01 00:45:00  0.469112
2011-01-01 01:30:00  -0.282863
2011-01-01 02:15:00  -1.509059
2011-01-01 03:00:00  -1.135632
Freq: 45T, dtype: float64

然后既然有下采样,那就要有插值了,插值的用法如下所示:

这个是线性插值,当然还有向前填充(.bfill())向后填充(.pad())的,可以还看这个官方文档啦,官方文档就是好

代码语言:javascript
复制
    s = pd.Series([0, 1, np.nan, 3])
    s.interpolate()
0  0
1  1
2  2
3  3
dtype: float64

以上这篇python数据处理——对pandas进行数据变频或插值实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档