概述
问题:当有多个排序键时,如何在matlab中模拟sortrows功能?在matlab中,这看起来像是:
sortrows(x,[3,-4])
首先按第3列排序,然后按第2列排序.
如果按一列排序,可以使用np.argsort查找该列的索引,并应用这些索引.但是你如何为多列做到这一点?
data = np.array([[3,.24],[4,1,.41],[2,.63],[1,3,.38]]) #imagine rows of a spreadsheet #Now do sortrows(data,-4]) ix = np.lexsort((data[:,3][::-1],data[:,2])) #this yields [0,2,3] #note that lexsort sorts first from the last row,so sort keys are in reverse order data[ix]
总结
以上是编程之家为你收集整理的python – 在numpy中有多个排序键的Sortrows全部内容,希望文章能够帮你解决python – 在numpy中有多个排序键的Sortrows所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧