【发布时间】:2019-07-02 14:13:24
【问题描述】:
如何对以下矩阵进行排序:
import numpy as np
A = np.array([['2', '2', '2', 'd'],
['1', '1', '3', 'c'],
['1', '13', '1', 'a'],
['1', '11', '3', 'b']], dtype='<U2')
基于文本单元格中的数字并基于多列?列表排序工作如下:
sorted([[2, 2, 2, 'd'],
[1, 1, 3, 'c'],
[1, 13, 1, 'a'],
[1, 11, 3, 'b']], key = lambda k: (k[0],k[2],-k[1]))
Out[1]: [[1, 13, 1, 'a'], [1, 11, 3, 'b'], [1, 1, 3, 'c'], [2, 2, 2, 'd']]
但是我怎样才能像上面的列表一样对 numpy 数组 A 进行排序?
一审没有成功……
sorted(A, key = lambda k: (k[0],k[2],-k[1]))
Traceback(最近一次调用最后一次):
文件“”,第 1 行,在 排序(A, key = lambda k: (k[0],k[2],-k[1]))
TypeError: 一元操作数类型错误 -: 'numpy.str_'
【问题讨论】:
标签: python arrays numpy sorting