python样条插值的实现代码
作者:lucindawuyi 时间:2022-05-11 16:04:05
本文实例为大家分享了python样条插值的具体实现代码,供大家参考,具体内容如下
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#导入数据
data1=pd.read_csv('data1.csv',encoding='gbk')
#数据准备
X=data1.index #定义数据点
Y=data1['沪深300'].values #定义数据点
x=np.arange(0,len(data1),0.15) #定义观测点
#进行样条差值
import scipy.interpolate as spi
#进行一阶样条差值
ipo1=spi.splrep(X,Y,k=1) #源数据点导入,生成参数
iy1=spi.splev(x,ipo1) #根据观测点和样条参数,生成插值
#进行三次样条拟合
ipo3=spi.splrep(X,Y,k=3) #源数据点导入,生成参数
iy3=spi.splev(x,ipo3) #根据观测点和样条参数,生成插值
##作图
fig,(ax1,ax2)=plt.subplots(2,1,figsize=(10,12))
ax1.plot(X,Y,label='沪深300')
ax1.plot(x,iy1,'r.',label='插值点')
ax1.set_ylim(Y.min()-10,Y.max()+10)
ax1.set_ylabel('指数')
ax1.set_title('线性插值')
ax1.legend()
ax2.plot(X,Y,label='沪深300')
ax2.plot(x,iy3,'b.',label='插值点')
ax2.set_ylim(Y.min()-10,Y.max()+10)
ax2.set_ylabel('指数')
ax2.set_title('三次样条插值')
ax2.legend()
基于《Python 与量化投资 从基础到实战》的内容练习
来源:https://blog.csdn.net/lucindawuyi/article/details/80421015
标签:python,样条插值
0
投稿
猜你喜欢
php查询whois信息的方法
2023-09-05 10:47:00
PHP版微信小店接口开发实例
2023-11-10 11:56:06
html注释所引起的一系列问题
2008-11-04 13:23:00
静态页面分页的AJAX实现
2008-01-19 16:19:00
Php多进程实现代码
2023-10-11 09:23:14
用python编写一个图片拼接工具
2023-09-01 18:31:52
避免Adodb.Stream输出UTF-8时自动写入的BOM(asp)
2011-08-24 20:32:56
Python 多线程,threading模块,创建子线程的两种方式示例
2021-06-29 15:49:32
富文本编辑器的基本原理与实践
2008-06-13 13:28:00
Javascript typeof 用法
2013-10-20 20:49:40
Python自定义一个类实现字典dict功能的方法
2023-07-20 22:45:59
详解SQL Server中数据库快照工作原理
2009-01-21 14:18:00
如何编写高质量的Javascript代码
2011-03-07 16:04:00
Python logging简介详解
2022-05-12 09:27:02
从开发人员角度看IE8的开发新特性
2010-02-26 10:48:00
ASP中如何判断一个字符是不是汉字
2008-05-04 12:47:00
根据时段自动切换你的站点CSS皮肤风格
2007-09-20 18:08:00
合理关闭XHTML标签
2008-06-25 13:20:00
一行CSS代码为网站加上奥运主题
2008-07-20 12:33:00
用户研究角度看设计(2):用户为何视若无睹
2009-01-09 12:51:00