📜  Numpy 排序,搜索和计数(1)

📅  最后修改于: 2023-12-03 15:33:14.467000             🧑  作者: Mango

Numpy 排序,搜索和计数

Numpy是Python用于科学计算的基本库之一,它提供了高性能的多维数组对象以及对这些数组对象进行操作的工具。这些工具中包括排序,搜索和计数等。

Numpy排序

Numpy提供了多个排序函数,可以方便地对数组进行排序。

np.sort函数

np.sort函数返回的是一个排序后的数组,原数组不会被改变。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
print(np.sort(x))  # 输出 [1 2 3 4]
ndarray.sort方法

ndarray.sort方法直接对原数组进行排序,不会返回一个新数组。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
x.sort()
print(x)  # 输出 [1 2 3 4]
np.argsort函数

np.argsort函数返回的是原数组按照排序后的索引值的数组。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
print(np.argsort(x))  # 输出 [1 3 0 2]
np.lexsort函数

np.lexsort函数可以对多个数组进行排序。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
y = np.array([1, 2, 3, 4])
print(np.lexsort((x, y)))  # 输出 [1 3 0 2]
Numpy搜索

Numpy提供了多个搜索函数,可以方便地对数组进行搜索。

np.where函数

np.where函数返回的是原数组中符合条件的索引值的数组。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
print(np.where(x > 2))  # 输出 (array([0, 2]),)
np.searchsorted函数

np.searchsorted函数用于在已排序的数组中查找某个元素的插入位置。示例代码如下:

import numpy as np

x = np.array([1, 2, 3, 4])
print(np.searchsorted(x, 2.5))  # 输出 2
np.extract函数

np.extract函数返回的是原数组中符合条件的元素的数组。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 2])
print(np.extract(x > 2, x))  # 输出 [3 4]
Numpy计数

Numpy提供了多个计数函数,可以方便地对数组进行计数。

np.count_nonzero函数

np.count_nonzero函数返回的是原数组中非零元素的个数。示例代码如下:

import numpy as np

x = np.array([3, 1, 4, 0, 2, 0])
print(np.count_nonzero(x))  # 输出 4
np.bincount函数

np.bincount函数返回的是原数组中每个元素出现的次数。示例代码如下:

import numpy as np

x = np.array([1, 2, 3, 2, 1, 3, 1])
print(np.bincount(x))  # 输出 [0 3 2 2]

注意:np.bincount函数只能用于非负整数。