python - 切片 numpy 数组与选择单个元素

标签 python numpy

我有一个数组:

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

如果我对数组进行切片 arr[:, :1] 我的结果是 array([[1], [4], [7]]).

如果我对数组 arr[:, 0] 进行切片,我的结果是 array([1, 4, 7])

为什么会有差异?

最佳答案

:1 是一个切片(长度恰好为 1),因此 numpy 为数组中的每一行(第一个暗淡)返回一个列表。这就是为什么你有一个二维数组作为结果:你要求一个带有 : 的子数组。

另一方面,

0 是一个索引,因此 numpy 将结果缩小 1 维,结果是值列表(更准确地说是 1 维数组)。

关于python - 切片 numpy 数组与选择单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50320790/

相关文章:

python - 使用 Python 在 Pandas 中读取 CSV 文件时出现 UnicodeDecodeError

python - Pandas 数据框按日期移动列

python - Pandas 数学运算,以列值为条件

python - 不确定如何将 FFT 数据用于频谱分析仪

python - 如何通过两个 TRUE 条件将数组添加两次?

python - 使用 Python 进行 iOS 编程

python - 如何使每个组的第一行作为pandas数据框中同一组中其他行的总和?

python - 如何编写循环直到(Python Anaconda)

python - 计算后续 pandas 数据帧行之间的工作日

引用自身的 Python 列表 - 它是如何工作的?