Python 按索引对numpy.array行排序
我有2DPython 按索引对numpy.array行排序,python,arrays,python-2.7,numpy,Python,Arrays,Python 2.7,Numpy,我有2Dnumpy.array和一组索引: a = array([[0, 0], [0, 1], [1, 0], [1, 1]]) ix = (2, 0, 3, 1) 如何按索引对数组的行进行排序?预期结果: array([[1, 0], [0, 0], [1, 1], [0, 1]]) 我尝试过使用numpy.take,但它只适用于1D阵列。您实际上可以使用它。技巧是提供第二个参数(axis): (如果没有轴,阵列将在获取元素之前展平。) 或者: >>> a[ix, ..
numpy.array
和一组索引:
a = array([[0, 0], [0, 1], [1, 0], [1, 1]])
ix = (2, 0, 3, 1)
如何按索引对数组的行进行排序?预期结果:
array([[1, 0], [0, 0], [1, 1], [0, 1]])
我尝试过使用numpy.take
,但它只适用于1D阵列。您实际上可以使用它。技巧是提供第二个参数(axis
):
(如果没有轴
,阵列将在获取元素之前展平。)
或者:
>>> a[ix, ...]
array([[1, 0],
[0, 0],
[1, 1],
[0, 1]])
非常感谢。我不知道
numpy.take的第二个参数。
>>> a[ix, ...]
array([[1, 0],
[0, 0],
[1, 1],
[0, 1]])