【Python】排序与搜索
1. 排序
(1) sort
基本语法格式:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
sort函数的常用参数及说明
参数名称 | 说明 |
---|---|
a | 接收array,表示想要排序的ndarray,无默认值 |
axis | 接收int,表示指定的轴,axis=1时指定横轴,axis=0时指定纵轴。默认值为-1,即ndarry被横向展开排序 |
kind | 接收str,表示排列算式,可取quicksort、mergesort、heapsort、stable。默认为quicksort |
import numpy as np
np.random.seed(42) #设置随机种子
arr = np.random.randint(1,10,size=12).reshape(4,3)
print(arr)
print(np.sort(arr)) #默认排序
print(np.sort(arr,axis=None)) #展平排序
print(np.sort(arr,axis=1)) #横轴排序
print(np.sort(arr,axis=0)) #纵轴排序
(2) argsort / lexsort
基本语法格式:
numpy.argsort(a, axis=-1, kind='quicksort', order=None)
rgsort函数的常用参数及说明
参数名称 | 说明 |
---|---|
a | 接收array,表示想要排序的ndarray,无默认值 |
axis | 接收int,表示指定的轴,axis=1时指定横轴,axis=0时指定纵轴。默认值为-1,即ndarry被横向展开排序 |
kind | 接收string,表示排列算式,可取quicksort、mergesort、heapsort、stable。默认为quicksort |
import numpy as np
np.random.seed(42) #设置随机种子
arr = np.random.randint(1,10,size=12).reshape(4,3)
print(np.argsort(arr,axis=1)) #横轴排序
print(np.argsort(arr,axis=None)) #展平排序
2. 搜索
(1) argmax / argmin
基本语法格式:
numpy.argmax(a, axis=None, out=None)
numpy.argmin(a, axis=None, out=None)
argmax / argmin函数的常用参数及说明
参数名称 | 说明 |
---|---|
a | 接收array,表示想要排序的ndarray,无默认值 |
axis | 接收int,表示指定的轴,axis=1时指定横轴,axis=0时指定纵轴 |
arr = np.arange(6,12).reshape(2,3)
print(np.argmax(arr))
print(np.argmin(arr))
print(np.argmax(arr,axis=0))
print(np.argmin(arr,axis=1))
(2) where
基本语法格式:
numpy.where(condition, x, y)
where函数的常用参数及说明
参数名称 | 说明 |
---|---|
condition | 接收array、bool,表示搜索条件,无默认值 |
x | 接收array,表示搜索对象,无默认值 |
y | 接收array,表示不满足条件的值的替换值,无默认值 |
(3) extract
基本语法格式:
numpy.extract(condition, arr)
extract函数的常用参数及说明
参数名称 | 说明 |
---|---|
condition | 接收array,表示搜索条件,无默认值 |
arr | 接收array,表示满足条件的元素,无默认值 |