【发布时间】:2017-06-14 09:52:52
【问题描述】:
我使用以下代码创建了一个多维 numpy 数组:
pt=[[0 for j in range(intervals+1)] for i in range(users+1)]
一个`print (np.shape(pt)) 给我
(1001,169)
然后我开始填充数组(代码未显示),然后尝试选择除第一列之外的所有内容以输入 matplotlib。
我参考了有关如何从多维数组中选择列的帖子: here here 和 here
所有人都说我应该做:
pt[:,1:]
选择除第一列之外的所有内容。然而,这给了我错误信息:
TypeError: list indices must be integers or slices, not tuple
【问题讨论】:
-
这看起来像是一个列表,而不是一个 numpy 数组...
-
为什么不简单地
numpy.zeros((users + 1, intervals + 1), dtype=int)? -
@Markus - 你是绝对正确的。我才意识到这一点。像这样的人 (i-programmer.info/programming/python/…) 是罪魁祸首。看在上帝的份上,不要说“对于迁移到 Python 的程序员来说,问题是没有明确规定多维数组。由于列表可以包含任何类型的数据,因此无需创建特殊的二维数据结构。您所要做的就是在列表中存储列表”。
标签: arrays python-3.x numpy