IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 插值 —— 如何实现插值,以及错误ValueError: A value in x_new is below the interpolation range. -> 正文阅读

[Python知识库]python 插值 —— 如何实现插值,以及错误ValueError: A value in x_new is below the interpolation range.

插值

插值,是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。–摘自百度百科

插值与拟合有一定差别,但其目的都是类似的,根据已有数值,生成预测函数,来预测目标值。

下面介绍一下,在Python中如何实现插值。

import scipy.interpolate as spi

# 准备数据,X和Y都是有限离散点集,X与Y是一一对应的
# 我们想用X逼近Y
X 
Y  

# 准备插值点,就是拟合点,用于生成插值函数
# 1)如果(X, Y)有很多,就从X和Y中选择一部分点,作为插值点,选择的时候注意一一对应;
# 2)如果(X, Y)不太多,则可以选择所有点作为插值点;
# 这里由于(X, Y)很庞大,所以选择其中一部分点作为插值点
idx = np.arange(1,len(X)+1, 100)
new_x = [list(X)[i] for i in idx] 
new_y = [list(Y)[i] for i in idx] 

# 生成差值函数
# fill_value="extrapolate"的意思是当用该函数预测Y时,如果所给x超出【生成该函数时候所使用的X】的取值范围时,该函数会自动推测给出相应的预测值。
# kind代表插值函数格式,有这几种['linear','zero', 'slinear', 'quadratic', 'cubic', 4, 5]
f = spi.interp1d(X,Y,kind="linear",fill_value="extrapolate")

# 随便给一个x,预测Y
x = [1000, 2000]
predict_y = f(x)

# 如果报错
"""ValueError: A value in x_new is below the interpolation range."""
# 就是因为,在使用上述插值函数f进行预测的时候,所给的x的取值超出了【生成该函数时候所使用的X】的取值范围,函数给不出预测值,因此报错。
# 加上参数fill_value="extrapolate"就可以了,函数会自动推断给出预测值。
# 但是注意:如果Y不是单调的,推断出来的预测值可能会不准确。(因为这里面的自动推断,应该是按照线性单调推断的,这个我还没有确认过)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:47:35  更:2021-10-27 12:49:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:31:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码