一、排序函数
1、ndarray类的sort方法——可对数组进行原地排序;
import numpy as np
# 准备一个矩阵
a = np.mat('3 1 2; 0 5 4; 7 3 6')
a
matrix([[3, 1, 2],
[0, 5, 4],
[7, 3, 6]])
np.sort(a) #使用函数进行排序
matrix([[1, 2, 3],
[0, 4, 5],
[3, 6, 7]])
以下加入axis:
np.sort(a,axis=1) #横着排序
matrix([[1, 2, 3],
[0, 4, 5],
[3, 6, 7]])
np.sort(a,axis=0) #列排序
matrix([[0, 1, 2],
[3, 3, 4],
[7, 5, 6]])
2.argsort函数——返回输入数组排序后的下标;
# argsort()
print(a)
np.argsort(a)
[[3 1 2]
[0 5 4]
[7 3 6]]
matrix([[1, 2, 0],
[0, 2, 1],
[1, 2, 0]], dtype=int64)
print(a)
np.argsort(a,axis = 0) #竖着排,默认的时axis=0(横着排)
[[3 1 2]
[0 5 4]
[7 3 6]]
matrix([[1, 0, 0],
[0, 2, 1],
[2, 1, 2]], dtype=int64)
二、搜索函数
1. np.argmax函数——返回数组中最大值对应的下标 ,忽略NAN
arr1 = np.array([1 ,8 ,6 ,np.nan ,20 ,0])
arr1
array([ 1., 8., 6., nan, 20., 0.])
np.argmax(arr1)
3
看看多维的数组是什么情况捏~~~
f = np.mat('2 3 4;4 3 4 ;3 4 5;80,7,90')
print(np.argmax(f))
11