Python对数据进行插值和下采样的方法

yipeiwu_com5年前Python基础

使用Python进行插值非常方便,可以直接使用scipy中的interpolate

import numpy as np
x1 = np.linspace(1, 4096, 1024)
x_new = np.linspace(1, 4096, 4096)
from scipy import interpolate
tck = interpolate.splrep(x1, data)
y_bspline = interpolate.splev(x_new, tck)

其中y_bspline就是从1024插值得到的4096的数据

但是,scipy中好像并没有进行下采样的函数,嗯..难道是因为太过简单了么,不过好像用一个循环就可以完成,但如果把向量看成一个时间序列,使用pandas中的date_range模块也可以十分方便的以不同频率进行采样,并且,很多对文件的操作都是使用pandas操作的。

import pandas as pd
index = pd.date_range('1/1/2000', periods=4096, freq='T') #这个起始时间任意指定,freq为其频率
data = pd.read_table(filename, names=['feat'])
data.index = index
data_obj = data.resample('4T', label='right') #第一个为抽样频率,label表示左右开闭区间
data_new = data_new.asfreq()[0:]

因为data.resample返回的是一个 pandas.tseries.resample.DatetimeIndexResampler对象

所以想要获取其中的值可以通过 data_new.asfreq()[0:]获取

更多方法详见 pandas.DataFrame.resample

以上这篇Python对数据进行插值和下采样的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Pycharm 设置自定义背景颜色的图文教程

Pycharm 设置自定义背景颜色的图文教程

Pycharm可以通过设置主题来设定背景颜色,但主题的背景颜色也仅仅局限特定的几种,通过如下的方式可以自定义背景颜色。 File——Settings——Editor——General——...

python实现飞机大战微信小游戏

python实现飞机大战微信小游戏

0、前言 我学一种语言,可以说学任何东西都喜欢自己动手实践,总感觉自己动手一遍,就可以理解的更透彻,学python也一样,自己动手写代码,但更喜欢做点小东西出来,一边玩一边学。下面我就展...

python 读文件,然后转化为矩阵的实例

代码流程: 1. 从文件中读入数据。 2. 将数据转化成矩阵的形式。 3. 对于矩阵进行处理。 具体的python代码如下: - 文件路径需要设置正确。 - 字符串处理。 - 字符串数...

Python牛刀小试密码爆破

难道真的要我破解一个么?算了,正好试试我的Python水平。 python版 复制代码 代码如下: #coding: gbk import httplib, urllib def Che...

举例讲解Python设计模式编程中的访问者与观察者模式

访问者模式 我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展 为什么这样用?当你的类层次较多,在某层结构中增加新的方法,要是在基类上面添加或...