黑马程序员技术交流社区

标题: 【上海校区】Python实现二维数组按照某行或列排序的方法 [打印本页]

作者: 不二晨    时间: 2018-12-7 09:53
标题: 【上海校区】Python实现二维数组按照某行或列排序的方法
import numpy as np


a=np.array([[ 2, 7, 4, 2],
    [35, 9, 1, 5],
    [22, 12, 3, 2]])
print('a:')
print(a)

#1按最后一列顺序排序
print('按最后一列顺序排序:')
print(a[np.lexsort(a.T)])
print('')

#2按最后一列逆序排序
print('按最后一列逆序排序:')
print(a[np.lexsort(-a.T)])
print('')

#3按第一列顺序排序
print('按第一列顺序排序:')
print(a[np.lexsort(a[:,::-1].T)])
print('')

#4按最后一行顺序排序
print('按最后一行顺序排序:')
print(a.T[np.lexsort(a)].T)
print('')

#5按第行顺序排序
print('按第一行顺序排序:')
print(a.T[np.lexsort(a[::-1,:])].T)
#输出结果:
E:\phthon35\python.exe I:/catsVSdogs1-master/catsVSdogs1-master/file01/test15.py
a:
[[ 2  7  4  2]
[35  9  1  5]
[22 12  3  2]]
按最后一列顺序排序:
[[22 12  3  2]
[ 2  7  4  2]
[35  9  1  5]]

按最后一列逆序排序:
[[35  9  1  5]
[ 2  7  4  2]
[22 12  3  2]]

按第一列顺序排序:
[[ 2  7  4  2]
[22 12  3  2]
[35  9  1  5]]

按最后一行顺序排序:
[[ 2  4  7  2]
[ 5  1  9 35]
[ 2  3 12 22]]

按第一行顺序排序:
[[ 2  2  4  7]
[ 5 35  1  9]
[ 2 22  3 12]]

Process finished with exit code 0

---------------------
【转载】仅作分享,侵删
作者:甄同学
原文:https://blog.csdn.net/qq_25964837/article/details/79047948



作者: 不二晨    时间: 2018-12-11 15:12





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2