Python - 无法设置数组值

时间:2014-08-05 15:46:20

标签: python arrays numpy

我有这段代码:

replMatrix[replMatrix['cat'] == p]['dispersers'] += moving
movers[movers['cat'] == m]['dispersers']= 0

但它不起作用,值不会改变,而使用这个

replMatrix['dispersers'][replMatrix['cat'] == p] += moving
movers['dispersers'][movers['cat'] == m]= 0

它有效。 所以我理解正确的顺序是

array[column][row]

而不是

array[row][column]

为什么,如果顺序似乎如此重要,第一种情况下没有错误?

1 个答案:

答案 0 :(得分:0)

问题是什么有点不清楚,但我会说你收到阵列部分的顺序很重要。

不是将2D数组描绘为行/列,而是将它们表示为嵌套数组。

因此,如果您要将数组声明为像array [2] [2],而不是看起来像2乘2的网格,而是将其视为两个数组中的两个数组。换句话说,数组看起来像:[[1,2],[3,4]]。因此每个subsuquent []表示数组的更深嵌套。

示例:您有一个声明为[[1,2],[3,4]]的数组。它存储在一个名为array的变量中。 如果要打印出数组[0],它将输出[1,2]。如果要打印出数组[0] [1],它将输出2。