【发布时间】:2014-03-18 09:28:09
【问题描述】:
我正在尝试根据用户的决定来操作 N 维数组的值,该数组应该在哪个索引处更改。这个例子很好用:
import numpy as np
a = np.arange(24).reshape(2,3,4)
toChange = ['0', '0', '0'] #input from user via raw_input
a[toChange] = 0
但如果我想改变的不仅仅是一个位置,而是一整行,我就会遇到问题:
toChange = ['0', '0', ':'] #input from user via raw_input
a[toChange] = 0
这会导致ValueError: setting an array element with a sequence。
我可以看到问题在于 ':' 字符串,因为 a[0, 0, :] = 0 完全符合我的要求。问题是,如何将字符串传递给数组?
或者有没有更聪明的方法来操作用户定义的切片?
PS:因为我正在开发一个 oldstable Debian,所以我使用 Python 2.6.6 和 Numpy 1.4.1
【问题讨论】:
标签: python numpy slice multidimensional-array