我有一些Numpy代码正在尝试破译。有一行v1 = v1[:, a1.tolist()]
传递numpy数组a1
并将其转换为列表。我对v1[:, a1.tolist()]
实际工作感到困惑。我知道v1
现在将其设置为v1
选择所给定的列数组,[:, a1.tolist()]
但是正在选择什么呢?更确切地说,在[:, a.tolist()]
做什么?
如果将语法分为两部分,则更易于理解:
用numpy的意思
a[[1,2,3]]
是
[a[1], a[2], a[3]]
换句话说,将列表用作索引时就像创建一个将元素用作索引的列表一样。
[:,x]
的含义
a2[:, x]
是
[a2[0][x],
a2[1][x],
a2[2][x],
...
a2[n-1][x]]
即从矩阵中选择一列。
的含义
a[:, [1, 3, 5]]
因此
[[a[ 0 ][1], a[ 0 ][3], a[ 0 ][5]],
[a[ 1 ][1], a[ 1 ][3], a[ 1 ][5]],
...
[a[n-1][1], a[n-1][3], a[n-1][5]]]
换句话说,a
具有选定列的副本(或重复和重新排序;索引列表中的元素不需要区分或排序)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句