使用NumPy ndarray语法的困难

时间:2014-09-12 05:04:59

标签: python numpy indexing multidimensional-array

2

创建并打印一个名为“buckets”的新的块状数组,这样所有元素都会被10s覆盖。然后,打印'桶'。

实施例。 39变为30,42变为40。

我无法理解为什么这不会填充ndarray,遍历它,并将每个10的非倍数设置为它所属的十位组。我得到的错误是“IndexError:用作索引的数组必须是整数(或布尔)类型”

   print '2. '
   buckets = np.array(original)
   for i in buckets:
        for j in buckets:
            if buckets[i][j] % 10 != 0:
                buckets[i][j] = buckets[i][j] - buckets[i][j] % 10

   print buckets
   print '\n'

1 个答案:

答案 0 :(得分:0)

表达式for i in buckets遍历buckets的每个的值,而不是通过行的索引。

您可以获取数组的形状,然后迭代索引范围:

for i in xrange(a.shape[0]):       # use 'range' in Python 3.x
    for j in xrange(a.shape[1]):   # use 'range' in Python 3.x
        ...