我尝试使用这个简单的代码在数组中搜索并替换大于1到1的元素:
import numpy as np
j = np.array([[1],[3],[1],[0],[9]])
for x in j:
if abs(x) > 1 :
j[x] = 1
但我会犯这样的错误:
IndexError:对于大小为5的轴0,索引9超出了界限。
我正在使用python-3.x,我搜索了以下错误,但是找不到正确的解决方案。错误发生在下面的代码中。
我有一个随机的numpy二进制数组和一个随机数字数组,所以代码将根据其他数组的值删除二进制行,正如您从代码中看到的那样。
import random
import numpy as np
np.set_printoptions(threshold=np.nan)
for i in range (100):
binary= np.random.randint (2, size=(10, 4))
print("binary:" '\n',bi
我想分别根据n、dx和dt将这些值存储在数组中。所以稍后我可以依次加载或调用。我承认这个错误。IndexError:索引100超出了尺寸为100的2轴的界限,请问有什么建议吗?
L=20
K=100
x=np.arange(0,L,1)
t=np.arange(1,K+1)
d=np.zeros((K,len(x),len(t))) #makes an empty array
#use loop
for n in np.arange(1,K+1):
wn=n*math.pi*v/L
F=math.exp(-wn*0.2)**2/4
for dx in x:
for dt in t:
我使用Python3.6,当我尝试使用NumPy数组引用时,我得到了一个索引错误。
这是我的代码:
import numpy as np
length1 = 35
length2 = 20
siglength = 10
csrf = np.array([])
sm = 2.0 / 35
sm2 = 2.0 / 20
for n in range(0, 198) :
if n == 0 :
i = 100
t = i - 100
setcsf = t - 0 * sm + 0
csrf = np.append(cs
我只是想知道为什么这个从数组中截取小数字的小函数不起作用。 def chopper(values):
for i in range(len(values)):
if np.abs(values[i])<10**(-9):
values=np.delete(values,i)
return values
print(chopper(np.array([1,2,10**(-10),-10**(-10),3]))) 我希望得到1,2,3。但我得到了一个错误消息: IndexError:索引4超出了大小为4的轴0的边界 我做错什么了?
如果这是一个基本的问题,很抱歉。我刚刚从python和编程开始。
我想要9乘9数组中的迭代输出。现在,我只在一列中得到输出。
for q in range(11,20,1):
for x in range(11,20,1):
if q <= x:
V = 3.5*q ‐ 1.5 * x
elif q > x:
V = 3.5*x ‐ 1.5*x
print(V)
尝试这样做,但我得到了错误:IndexError:索引11超出了大小为9的轴0的范围。
import numpy as np
V
我试图创建一个三维矩阵,在一个维度中有400个元素,在另外两个维度中有4个和4个元素。
我已经把数组装成
clij_the = np.zeros((400,4,4))
然后,我将前面读取的另一个文件中的长400向量分配给新数组的每个组件,例如:,0,0组件:
clij_the[:,0,0]=[row[0] for row in Cl_the]
问题出现在它到达的时候
clij_the[:,0,4]=[row[3] for row in Cl_the] or
clij_the[:,1,4]=[row[8] for row in Cl_the] or
clij_the[:,2,4]=[row[
我正在尝试将二进制掩码应用于具有numpy的RGB图像
我找到了这个,但我还没有写评论的权限。不管怎样,我遇到了一个问题,任何帮助都很感激。
def masktoRGB(self,image,image_mask):
# create mask with same dimensions as image
mask = np.zeros_like(image)
# copy your image_mask to all dimensions (i.e. colors) of your image
for i in range(3)
将Matlab代码转换为python。IndexError:索引-1对于大小为0的m Matlab ++++++的轴0是超出界限的。
for i = 1:N
for j=1:N
s = zeros(L2,L2);
sX = zeros(L2,L2);
sSS= Y((i-1)*L2+1:i*L2,(j-1)*L2+1:j*L2);
BI{i,j} = sSS;
Python ++++++
for i in range(N):
f
我尝试只将包含Atom_No 1的行写入数组x_o,y_o..但我遇到了越界错误。X包含678个元素,X_o的形状为226。Atom_No看起来像这个1,2,3,1,2,3,1,2,3....我要的坐标和这些坐标相对应。
ii=0
x_o=numpy.zeros((226))
y_o=numpy.zeros((226))
z_o=numpy.zeros((226))
for i in range(678):
if (Atom_No[i]==1):
ii=ii+1
x_o[ii]=x[ii]
y_o[ii]=y[ii]
z_
x=np.array([(1,2,3),(4,2,6)])
z=np.zeros((2,3))
for i in range(0,x.shape[0]+1):
print(i)
if x[i,0] > 1:
z[i,0]=100
else:
z[i,0]=200
if x[i,1] > 1:
z[i,1]=100
else:
z[i,1]=200
if x[i,2] > 3:
z[i,2]=100
else:
z[i,2]=
我试图得到第一个轴的最大值(一个三维数组),但得到的最大值仅为每12个元素。
使用随机3D数字阵列(其第一轴可被12整除),第一轴的大小为36。我要得到前12个元素的最大值,然后是12-24,然后是24-36。
我试过:
## 3d array
array = np.random.rand(36,20,30)
# get the maximum for every 12 units:
maximum_every_12 = np.zeros((int(array.shape[0]/12),array.shape[1],array.shape[2]))
for i in range(12)
我正在设置一个需要对特定窗口进行截屏的应用程序。我已经使用了一些我找到的代码来获取窗口的位置和大小,它似乎工作得很好,根据第26行的输出,它工作得很好。但是当我尝试从相应的bbox (边界框)中获取任何像素时,即使是( 1,1 ),它也会输出IndexError: image index out of range,即使窗口大小肯定大于1,1,如第26行的输出所示。我如何解决这个问题,为什么它似乎超出了范围? import PIL.ImageGrab as IG
import win32gui
x = 0
y = 0
w = 0
h = 0
def callback(hwnd, extra):
N=100
numbers_training_pattern=10
for pattern in range(number_training_pattern):
rate=np.zeros((1,N))
for epoch in range(1,nepochs+1):
if epoch<=1:
clamp=1
else:
clamp=0
activ=np.zeros((1,N))
for neuron in range(N):
PreSynInp
我需要在一个新变量中插入三维矩阵。我试图通过这样做:创建一个四维矩阵,并促进第四维,分别保存这三个维度。
样本代码:
from python_speech_features import mfcc
import numpy as np
X = np.zeros((0,0,0,0),float) #4-dimensional - (0, 0, 0, 0)
ii = 0
for ii in range 1000:
data, fs = sf.read(curfile[ii])
sig = mfcc(data, fs, winstep=wins
我正在用Python创建一个伪Vector类,我想知道我是否应该检查错误,如果应该在多大程度上进行错误检查。
例如,当某人执行以下操作时:
vec = Vector(1,2,3,4)
# vec is now [1,2,3,4]
vec[100] = 12
由我的IndexError生成的__setitem__应该发生什么?如果我的__setitem__包含:
if index < 0 or index >= len(self.vector):
raise IndexError("Index out of bounds")
或者应该是
try:
if
我想使用A中的元素填充名为allsamplesi的矩阵,我编写了以下代码,但是,我得到了错误消息:“allsamplesi、:=a1、a2、a3、a4 IndexError:索引0超出了大小为0的轴0的界限”。如何纠正以下代码以使其工作?谢谢!
import numpy as np
A=[2, 4, 9, 10]
lA=len(A)
i=0
allsamples=np.zeros((lA^(lA),lA))
for a1 in A:
for a2 in A:
for a3 in A:
for a4 in A:
a
我有一个问题,我不知道该如何描述,这样你才能理解。我将举一个例子。假设我们在python中有这个数组(B):
[[ 1 1]
[ 7 11]
[1 20]
[20 1]
[26 11]
[31 11]]
第一列表示用户。第二个是标签。现在,我想创建一个矩阵,这个矩阵的边是“1”,否则就是“0”。我们分别有5个和4个不同的用户和标签,这是一个6*5矩阵。如果我写道:
zero = np.zeros((6,5,).astype(int) #it needs one more row and column
for line in B:
if line[2]:
zero[line
我是Python的新手,非常感谢任何有建设性的反馈。我的任务是使用ODEINT解决PDE,其中我的空间网格定义如下:
L = [8.0, 4.0, 8.0] # Lenght of spatial zones
dN = 1.0e2 # Number of grid points
N = [int(l*dN) for l in L] # Gives number of grid points over each spatial zone
通过使用ODEINT函数believe,我必须为我的解决方案定义一个零数组和一个时间点数组。我正在努力找出如何为数组写出正确的大小。
我正在尝试Numba与Numpy的数组索引行为,我遇到了一些我不太理解的东西;所以我希望有人能为我指出正确的方向,这可能是一个非常简单的问题。下面是两个函数,这两个函数都使用np.arange命令创建一个空数组。然后,我使用索引为0 ( Numba )和Numpy如何执行/中断( example[0] = 1 )向数组“追加”(试验各种方法以查看它们如何执行/中断)。
带有Numba的jit函数运行时没有出现错误,但是Numpy示例给出了错误:
IndexError: index 0 is out of bounds for axis 0 with size 0
Numpy错误是有意义的,但是
我正在尝试使用numpy和scipy创建一个png图像,然后对每个像素分别着色。然而,当我选择尺寸255 x 255,并试图改变x,y坐标255 255的像素时,它表示它超出了范围。
import numpy as np
import scipy.misc as smp
from PIL import Image
data = np.zeros( (255,255), dtype = np.uint8)
data[255,255] = [0,0,0] # Attempt to set a black pixel
data[0,0] = [255,0,0] # Attempt to set a
我正在尝试写一个函数,它允许在网格中向左移动1个单位(在x轴上)。只有当左边有一个有效的坐标时,它才会起作用,如果没有有效的坐标(即起始点在网格的边缘),函数应该返回None。这是我的尝试:
def left_move(point):
try:
LEFT = grid[point[1]][point[0]-1]
except IndexError:
return None
if LEFT == '.':
change = [-1,0]
for idx, amount in enumera