返回
numpy中的数据统计、排序和搜索
见解分享
2023-10-06 00:17:43
在数据分析的日常工作中,我们经常需要对数据进行统计分析,并对其进行排序和搜索。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]