ndarray聚合函数
聚合函数是对一组值(eg一个数组)进行操作,返回一个单一值作为结果的函数,当然聚合函数也可以指定对某个具体的轴进行数据聚合操作,常见的聚合操作有:平均值、最大值、最小值、方差等
import numpy as np ''' random模块 rand 返回 0 - 1 随机值 randn 返回一个样本具有标准正态分布 randint 返回随机的整数,位于半开区间[low,hight)size = 10 (3,3) random_integers(low[, high, size]) 返回随机的整数,位于闭区间 random 返回随机浮点数 ''' a = np.array([[1,2,3,4],[7,8,9,10]]) print(a) #输出为 [[ 1 2 3 4] # [ 7 8 9 10]] #amin返回最小值 print(np.amin(a,1)) #参数1 表示同行数据 输出为 [1 7] print(np.amin(a,0)) #参数0 表示同列数据 输出为 [1 2 3 4] #amax返回最大值 print(np.amax(a,1)) #输出为 [ 4 10] print(np.amax(a,0)) #输出为 [ 7 8 9 10] #mean平均值 print(np.mean(a)) #输出为 5.5 print(np.mean(a,0)) #求列平均值 输出为 [4. 5. 6. 7.] print(np.mean(a,axis = 1)) #求行平均值 输出为 [2.5 8.5] ''' 标准差:是与平均值的偏差的平方的平均值的平方根 std = sqrt(mean((x-x.mean())**2)) 如果数组是[1,2,3,4] 则平均值是 2.5 因此偏差是[1.5,0.5,0.5,1.5], 偏差的平方是[2.25,0.25,0.25,2.25] 并且其平均值的平方根,即sqrt(5/4) ''' arr2 = np.array([[1,2,3,4],[7,8,9,10]]) print(((arr2-arr2.mean())**2).sum()/arr2.size) #平均值的偏差的平方的平均值 输出为 10.25 print(np.mean(((arr2-arr2.mean())**2))) #平均值的偏差的平方的平均值 输出为 10.25 print(np.sqrt(((arr2-arr2.mean())**2).sum()/arr2.size)) #输出为 3.2015621187164243 print(np.sqrt(np.mean(((arr2-arr2.mean())**2)))) #输出为 3.2015621187164243 print(np.std(arr2,0)) #同列 输出为 [3. 3. 3. 3.] #方差是偏差的平方的平均值即mean(x-x.mean()**2) arr3 = np.array([[1,2,3,4],[7,8,9,10]]) print(arr3-arr3.mean()) #输出为 [[-4.5 -3.5 -2.5 -1.5] # [ 1.5 2.5 3.5 4.5]] print(((arr3-arr3.mean())**2).sum()/arr3.size) #输出为 10.25 print(np.mean((arr3-arr3.mean())**2)) #输出为 10.25 print(np.var(arr3)) #输出为 10.25
排序函数
NumPy中提供了各种排序相关功能, 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性,下表显示了三种排序算法的比较:
种类 |
速度 |
最坏情况 |
工作空间 |
稳定性 |
'quicksort'(快速排序) |
1 |
O(n^2) |
0 | 否 |
'mergesort'(归并排序) |
2 |
O(n*log(n)) |
~n/2 |
是 |
'heapsort'(堆排序) |
3 |
O(n*log(n)) |
0 | 否 |
numpy.sort()——函数返回输入数组的排序副本
numpy.sort(a,axis,kind,order)
a :要排序的内容
axis:默认为1,压着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序
kind:默认为’quicksort’快速排序
order:如果数组包含字段,则是要排序的字段
来源:https://www.cnblogs.com/lanzhijie/p/12381365.html