python给出数据点进行插值_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给出数据点进行插值_Python对数据进行插值和下采样的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福特:预计今年电动汽车业务亏损将升至30
- 下一篇: python 线性回归 优化_pytho