2024-04-20 07:59:38 发布
网友
我有一些核密码,我正试图破译。有一行v1 = v1[:, a1.tolist()],它传递一个numpy数组a1,并将其转换为一个列表。我很困惑v1[:, a1.tolist()]到底做了什么。我知道v1现在被设置为从v1给定的列数组,由选择[:, a1.tolist()]给定,但是选择什么呢?更准确地说,[:, a.tolist()]在做什么?
v1 = v1[:, a1.tolist()]
a1
v1[:, a1.tolist()]
v1
[:, a1.tolist()]
[:, a.tolist()]
假设有一个简单的例子,比如2D数组,v1[:, a1.tolist()]将选择v1的所有行,但只选择由a1值描述的列
简单示例:
>>> x array([['a', 'b', 'c'], ['d', 'f', 'g']], dtype='|S1') >>> x[:,[0]] array([['a'], ['d']], dtype='|S1') >>> x[:,[0, 1]] array([['a', 'b'], ['d', 'f']], dtype='|S1')
如果将所观察到的语法分成两部分,则更容易理解:
用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的一个副本,其中包含一组列(或者重复和重新排序;索引列表中的元素不需要区分或排序)。
a
假设有一个简单的例子,比如2D数组,
v1[:, a1.tolist()]
将选择v1
的所有行,但只选择由a1
值描述的列简单示例:
如果将所观察到的语法分成两部分,则更容易理解:
一。使用列表作为索引
用numpy的意思
是
换句话说,当使用列表作为索引时,就像创建使用元素作为索引的列表一样。
2。选择具有
[:,x]
的列的意义
是
即从矩阵中选择一列。
总结
的意义
因此
换句话说,
a
的一个副本,其中包含一组列(或者重复和重新排序;索引列表中的元素不需要区分或排序)。相关问题 更多 >
编程相关推荐