返回

numpy中的数据统计、排序和搜索

见解分享

在数据分析的日常工作中,我们经常需要对数据进行统计分析,并对其进行排序和搜索。NumPy提供了丰富的函数库来满足这些需求,本文将对这些功能进行详细介绍。

统计运算

NumPy提供了多种统计运算函数,可用于计算数组中数据的各种统计指标。下表列出了常用的统计运算函数:

函数 说明
sum 计算数组元素之和
mean 计算数组元素的平均值
median 计算数组元素的中位数
std 计算数组元素的标准差
var 计算数组元素的方差
min 返回数组中的最小值
max 返回数组中的最大值

排序

NumPy提供了多种排序函数,可用于对数组中的元素进行排序。下表列出了常用的排序函数:

函数 说明
sort 对数组元素进行原位排序
argsort 返回排序后的数组元素索引
searchsorted 在排序后的数组中查找元素的插入点

搜索

NumPy提供了多种搜索函数,可用于在数组中查找特定元素。下表列出了常用的搜索函数:

函数 说明
where 返回满足条件的元素的索引
in1d 检查一个数组中的元素是否包含在另一个数组中
argmax 返回数组中最大元素的索引
argmin 返回数组中最小元素的索引

实例

下面通过一些实例来说明如何使用NumPy中的统计运算、排序和搜索功能。

统计运算

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])

# 计算数组的平均值
mean = np.mean(arr)
print(mean)  # 输出:3.0

# 计算数组的标准差
std = np.std(arr)
print(std)  # 输出:1.5811388300841898

排序

# 对数组进行原位排序
arr.sort()
print(arr)  # 输出:[1, 2, 3, 4, 5]

# 返回排序后的数组元素索引
sorted_indices = np.argsort(arr)
print(sorted_indices)  # 输出:[0, 1, 2, 3, 4]

搜索

# 在排序后的数组中查找元素 3 的插入点
idx = np.searchsorted(arr, 3)
print(idx)  # 输出:2

# 检查一个数组中的元素是否包含在另一个数组中
arr2 = np.array([1, 3, 5])
result = np.in1d(arr2, arr)
print(result)  # 输出:[ True  True  True]