我尝试使用这个简单的代码在数组中搜索并替换大于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超出了界限。
我使用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
我正在尝试使用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
我正在用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
我试图得到第一个轴的最大值(一个三维数组),但得到的最大值仅为每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)
如果这是一个基本的问题,很抱歉。我刚刚从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
我正在使用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
我试着从三维数组中计算变量。问题是:我在我的网格中有纬度和经度,我想测量体积元素中的动能。为此,我需要音量,这是我的深度x x隆。然而,我的lon和lat是可变的,这意味着我必须从我身上减去i+1,才能确切知道距离是多少。因此,我尝试了以下几点:
# the total length is var[32,327,899]
for i in range(1,328,1):
for j in range(1,900,1):
for k in range(1,33,1):
j_dis=((lat[i+1,j]-lat[i,j])*1852.)/(1/
我想分别根据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:
返回的错误是"IndexError:索引1对于大小为1的轴0来说越界了“我不确定如何解决这个问题,请帮帮忙我是个新手
nsteps7 = 1
def randomwalk7(nsteps7):
position = 0
walk7 = [position]
x = np.transpose(walk7)[0]
y = np.transpose(walk7)[1]
x, y = 0,0
walk7x, walk7y = [x], [y]
for i in range(nsteps7):
val = rand
我用2列创建了一个空的dataframe
df = pd.DataFrame(columns = ['pred', 'sim'])
我想使用我尝试过的循环向DF添加值:
for i in range(5):
df['pred'][i]=i
df['sim'][i]=i
但是我得到了错误:对于大小为0的轴0,索引0超出了界限
我尝试只将包含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_
我想要计算群体中每个染色体的适应度函数,但在运行代码时总是会出现错误。
population = np.random.randint(x1,y2, size=(100, 2))
def fitness_func(x1, y1):
x2 , y2 = x1 + 160 , y1 + 60
x = 0
Im = Image.open("D:\hagar\Genetic Algorithm\Project\Binary Image.png")
for i in range (x1,x2):
for j in range (y1,y2):
r, g, b =
我只是想知道为什么这个从数组中截取小数字的小函数不起作用。 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的边界 我做错什么了?
我对文本数据计算了tfidf向量器,得到的向量为(100000, 2000 ) max_feature =2000。
当我通过下面的代码计算共生矩阵时。
length = 2000
m = np.zeros([length,length]) # n is the count of all words
def cal_occ(sentence,m):
for i,word in enumerate(sentence):
print(i)
print(word)
for j in range(max(i-window,0),min(i+window,length))
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]=
我试图创建一个三维矩阵,在一个维度中有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)
我刚开始学习python,我的水平是0,我只是检查了一个程序,它给了我错误:
IndexError:超出范围的列表索引
def array123(nums):
for i in range(len(nums)):
if nums[i]==1 and nums[i+1]==2 and nums[i+2]==3:
return True
return False
if __name__=="__main__":
array123([0, 2, 2,1,2])
IndexError跟踪(最近一次调用)在->
我试图建立一个拉格朗日插值函数,但是在构造之后,得到的误差指数9对于大小为9的轴0是超出界限的。为什么会收到这个错误,我如何修正它来执行我的插值?
import numpy as np
b = np.arange(3,12)
y = np.arange(9)
from sympy import Symbol
t = Symbol('t')
d = len(b)
def interpolation(x, z):
if len(x) != len(z):
print("Error: the length of x and z is differ
将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