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


Posted in Python onApril 22, 2020

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

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

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'三十秒,更多精彩内容请多多查看文档

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(),用法是这样的:

# 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())的,可以还看这个官方文档啦,官方文档就是好

>>> s = pd.Series([0, 1, np.nan, 3])
>>> s.interpolate()
0  0
1  1
2  2
3  3
dtype: float64

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

Python 相关文章推荐
以一段代码为实例快速入门Python2.7
Mar 31 Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 Python
浅谈Python的文件类型
May 30 Python
使用python绘制常用的图表
Aug 27 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 Python
Python实现屏幕录制功能的代码
Mar 02 Python
基于keras中的回调函数用法说明
Jun 17 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
使用pytorch实现线性回归
Apr 11 Python
Python实现简繁体转换
Jun 07 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 #Python
Jupyter Notebook折叠输出的内容实例
Apr 22 #Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 #Python
django使用JWT保存用户登录信息
Apr 22 #Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 #Python
Django如何使用jwt获取用户信息
Apr 21 #Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 #Python
You might like
逐步提升php框架的性能
2008/01/10 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
Python用GET方法上传文件
2015/03/10 Python
Python中encode()方法的使用简介
2015/05/18 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python语言元素知识点详解
2019/05/15 Python
艺术设计专业个人求职信
2013/09/21 职场文书
行政总监岗位职责
2013/12/05 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
关于运动会的稿件
2014/02/02 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
放弃继承权公证书
2015/01/23 职场文书
高考学习决心书
2015/02/04 职场文书
老公婚前保证书
2015/02/28 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
apache ftpserver搭建ftp服务器
2022/05/20 Servers