Python numpy.interp的实例详解
作者:javastart 发布时间:2023-01-21 07:07:06
本文章向大家介绍Python numpy.interp实例讲解,主要分析其语法、参数、返回值和注意事项,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
用法:
numpy.interp(x, xp, fp, left=None, right=None, period=None)
单调增加样本点的一维线性插值。
将一维分段线性插值返回给具有给定离散数据点的函数 (经验,fp),评估为x.
参数:
返回:
抛出:
x: array_like
计算插值的 x 坐标。
xp: 一维浮点序列
数据点的 x 坐标,如果参数必须增加时期未指定。否则,经验在用标准化周期性边界后进行内部排序xp = xp % period
.
fp: 浮点数或复数的一维序列
数据点的 y 坐标,长度与 xp 相同。
left: 对应于 fp 的可选浮点数或复数
x < xp[0] 的返回值,默认为 fp[0]。
right: 对应于 fp 的可选浮点数或复数
x > xp[-1] 的返回值,默认为 fp[-1]。
period: 无或浮点数,可选
x 坐标的句点。此参数允许正确插值角度 x 坐标。如果指定了 period,则忽略参数 left 和 right。
y: float 或 complex(对应于 fp)或 ndarray
插值,与 x 的形状相同。
ValueError
如果 xp 和 fp 的长度不同 如果 xp 或 fp 不是一维序列 如果 period == 0
警告
x 坐标序列预计会增加,但这没有明确强制执行。但是,如果序列 xp 不增加,则插值结果是没有意义的。
请注意,由于 NaN 是不可排序的,经验也不能包含 NaN。
xp 严格增加的简单检查是:
np.all(np.diff(xp) > 0)
例子:
>>> xp = [1, 2, 3]
>>> fp = [3, 2, 0]
>>> np.interp(2.5, xp, fp)
1.0
>>> np.interp([0, 1, 1.5, 2.72, 3.14], xp, fp)
array([3. , 3. , 2.5 , 0.56, 0. ])
>>> UNDEF = -99.0
>>> np.interp(3.14, xp, fp, right=UNDEF)
-99.0
绘制正弦函数的插值:
import numpy as np
x = np.linspace(0, 2*np.pi, 10)
y = np.sin(x)
xvals = np.linspace(0, 2*np.pi, 50)
# 增加 范围外的x 值
xvals=np.append(xvals,(6.5,8.0))
yinterp = np.interp(xvals, x, y) #xvals代表要生成点的横坐标,x代表原来区间的横坐标,y代表原来区间值得纵坐标。
import matplotlib.pyplot as plt
plt.plot(x, y, 'o') #蓝色的点
plt.plot(xvals, yinterp, '-x') #黄色的区域
plt.show()
print(x)
# print()
使用周期性 x 坐标进行插值:
>>> x = [-180, -170, -185, 185, -10, -5, 0, 365]
>>> xp = [190, -190, 350, -350]
>>> fp = [5, 10, 3, 4]
>>> np.interp(x, xp, fp, period=360)
array([7.5 , 5. , 8.75, 6.25, 3. , 3.25, 3.5 , 3.75])
复杂插值:
>>> x = [1.5, 4.0]
>>> xp = [2,3,5]
>>> fp = [1.0j, 0, 2+3j]
>>> np.interp(x, xp, fp)
array([0.+1.j , 1.+1.5j])
来源:https://blog.csdn.net/javastart/article/details/128888454


猜你喜欢
- 本文实例讲述了python使用分治法实现求解最大值的方法。分享给大家供大家参考。具体分析如下:题目:给定一个顺序表,编写一个求出其最大值和最
- 0 引言前几天,星球有人提到贪吃蛇,一下子就勾起了我的兴趣,毕竟在那个Nokia称霸的年代,这款游戏可是经典中的经典啊!而用Python(蛇
- 在开始聊我在阿里四个月的网页推广设计之前,我想先来说说我对平面设计和网页设计的认识。它们之间的交集。1.它们都是集艺术创作、电脑技术和数字技
- 在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简
- SQL防注入代码一<?php /** * 防sql注入 * @author: zhuyubing@gmail.com * */ /**
- 1. do:1)形式:do 'filename';说明:这里filename需要添加单引号,否则会出错;filename可以
- Go流程控制1、条件语句IF1、简单格式(不支持三目运算符)if 布尔表达式 { // 执行语句}2、if里面包含多个表达式的时
- 一、Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加
- 调用时输入参数如: www.jb51.net/表示删除www.jb51.net首页的缓存, www.jb51.net/test.
- 由于业务需要,要查询客户的ip地址,将部分地区的客户过滤出来,开始想到使用ip数据库,发现读取纯真数据库的难度对我来说有些大,而我目前的时间
- 本文实例讲述了Django restframework 框架认证、权限、限流用法。分享给大家供大家参考,具体如下:概述Django Rest
- import sysfrom PyQt5 import QtWidgetsfrom PyQt5.QtWidgets import QMain
- 什么是迭代器?迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,nex
- 代码很简单,主要是修改了下百度分享的部分代码,小伙伴们自己对比下。<div class="tool_title"&
- 前言ECMAScript 是 JavaScript 语言的国际标准,JavaScript 是 ECMAScript 的实现。ES6 的目标,
- 本文实例为大家分享了python定时复制远程文件夹中文件的具体代码,供大家参考,具体内容如下import os, shutil, sysim
- 问题:python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码---可能情况:1.mysql数据库各项没有设置编码,默认为&
- 前言JavaScript中一共有3种用来声明变量的关键字,分别是var、let和const。其中var关键字是ES5时代的产物,由于ES5对
- 在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览。本文我们总结了五种SQL Ser
- 本文代码来之《数据分析与挖掘实战》,在此基础上补充完善了一下~代码是基于SVM的分类器Python实现,原文章节题目和code关系不大,或者