python - 索引越界错误:Python
问题描述
我有一组不平滑的数据。因此,我试图用生成的网格对其进行插值。
import numpy as np
data=np.loadtxt('test.txt')
x=data[:,0] #len(x) = 730
y=data[:,1]
Nx= len(x)
Ny=len(y)
del_x= 0.5
xn = np.linspace(0,Nx,2000)
yn = np.linspace(0,Ny,2000)
#loop
for i in range(0,Nx-1):
if x[i] > xn[i] and x[i] < xn[i+1]:
new_x= (i + (xn[i] - x[i])/(xn[i]-xn[i+1]))*del_x
print new_x
我想执行基本上执行操作的循环,即:如果我的原始数据 x[i] 在两个网格点 xn[i],xn[i+1] 之间,则计算 new_x。
但我收到以下错误
Traceback (most recent call last):
File "new.py", line 27, in <module>
if x[i] > xn[i] and x[i] < xn[i+1]:
IndexError: index out of bound
有人可以帮我吗 ?
解决方案
如果len(x) = 730
比它的循环太短。您的循环迭代1000
次数,i
将在某个点大于730
并且没有像 等这样的值x[730]
。x[731]
您将得到一个超出范围的错误,因为您正在访问数组中不存在的值。
推荐阅读
- microsoft-graph-api - 通过 Graph 创建educationClass 时无法创建班级分配
- amazon-web-services - hadoop 混合集群的延迟
- reactjs - 未找到 iframe 的公共文件夹中的 react-create-app prod html
- node.js - 如何使用node js连接hive服务器
- delphi - 在delphi中更改.dpr文件中的文件路径
- amazon-web-services - AWS API Gateway 中 API 的 JMeter 负载测试
- php - 我不能删除唯一索引
- itext - IText 和 Headless chrome 有什么区别
- php - Artisan shell 执行时间过长。怎么修?
- php - 使用 Timber 显示子类别