python - 如何切片 2D Python 数组? : "TypeError: list indices must be integers, not tuple" 失败

标签 python multidimensional-array numpy

我在 numpy 模块中有一个二维数组,如下所示:

data = array([[1,2,3],
              [4,5,6],
              [7,8,9]])

我想得到这个数组的一部分,它只包含元素的某些列。例如,我可能需要第 0 列和第 2 列:

data = [[1,3],
        [4,6],
        [7,9]]

最符合 Pythonic 的方法是什么? (请不要循环)

我认为这会起作用:

newArray = data[:,[0,2]]

但结果是:

TypeError: list indices must be integers, not tuple

最佳答案

错误明确地说:数据不是一个 numpy 数组,而是一个列表列表。

首先尝试将其转换为 numpy 数组:

numpy.array(data)[:,[0,2]]

关于python - 如何切片 2D Python 数组? : "TypeError: list indices must be integers, not tuple" 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680262/

相关文章:

python - Numpy 矩阵乘法错误

python - numpy.gradient() 似乎产生错误的边界值(使用一阶差分)

python - 生成 生成 numpy 数组

Python将格式化字符串转换为列表

python - 合并两个具有相同列的相似数据框

python - set.pop() 是确定性的吗?

c - 二维数组选择排序

python - 使用 python 和 sql 将 row 作为变量

c - 声明多维数组 : Pointer or Array Definiton

java - 二维数组(行和列)