【问题标题】:Selecting columns from multi-dimensional numpy array从多维numpy数组中选择列
【发布时间】: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 herehere

所有人都说我应该做:

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


【解决方案1】:

任何其他因犯了同样的错误而到达此帖子的人(请参阅上面的 cmets),如果您想继续使用列表,请执行 pt[:][0:1] 但实际上我建议切换到 numpy 并忽略所有搜索“声明 python 数组”时得到的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-18
    • 2018-06-07
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多