首页 > 解决方案 > AttributeError:“numpy.ndarray”对象没有属性“插入”

问题描述

代码:

import numpy as np

coordinates = np.array([])

for x in range(1, 9):
  for y in range(1, 9):
    coordinates = coordinates.insert(coordinates, (x,y))  

尽管阅读了许多教程和 Stack Overflow 响应,但我尝试的一切都不起作用。有人可以帮忙吗?

标签: pythonnumpynumpy-ndarray

解决方案


替换这一行:

coordinates = coordinates.insert(coordinates, (x,y))

有了这个:

coordinates = np.insert(coordinates, x,y)

你会得到一个错误,因为你从索引 1 开始循环,而 1 是 Python 中的第二个位置(索引从 0 开始)。您不能在空numpy数组的位置 1 处插入一些东西。为了使您的代码正常工作,您必须在索引 0 处开始循环:

import numpy as np

coordinates = np.array([])

for x in range(0, 9):
  for y in range(0, 9):
    coordinates = np.insert(coordinates, x, y)
Out[10]: 
array([8., 8., 8., 8., 8., 8., 8., 8., 8., 7., 6., 5., 4., 3., 2., 1., 0.,
       7., 6., 5., 4., 3., 2., 1., 0., 7., 6., 5., 4., 3., 2., 1., 0., 7.,
       6., 5., 4., 3., 2., 1., 0., 7., 6., 5., 4., 3., 2., 1., 0., 7., 6.,
       5., 4., 3., 2., 1., 0., 7., 6., 5., 4., 3., 2., 1., 0., 7., 6., 5.,
       4., 3., 2., 1., 0., 7., 6., 5., 4., 3., 2., 1., 0.])

推荐阅读