美文网首页
numpy聚合运算及扩展其它运算

numpy聚合运算及扩展其它运算

作者: Chaweys | 来源:发表于2020-11-15 10:13 被阅读0次

#coding=utf-8
import numpy as np

#一维聚合
a=np.arange(10)
print(a)
#结果:[0 1 2 3 4 5 6 7 8 9]

#sum()求和
sum_a=np.sum(a)
print(sum_a)
#结果:45

sum_a2=sum(a)
print(sum_a2)
#结果:45

#min()求最小值
min_a=np.min(a)
print(min_a)
#结果:0

min_a2=min(a)
print(min_a2)
#结果:0

#max()求最大值
max_a=np.max(a)
print(max_a)
#结果:9

max_a2=max(a)
print(max_a2)
#结果:9




#多维度聚合
x=np.arange(16).reshape(4,4)
print(x)
#结果:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

#求水平方向的总和
sum_x1=np.sum(x,axis=1)
print(sum_x1)
#结果:[ 6 22 38 54]

#求垂直方向的总和
sum_x2=np.sum(x,axis=0)
print(sum_x2)
#结果:[24 28 32 36]


#求水平方向的最小值min()
min_x1=np.min(x,axis=1)
print(min_x1)
#结果:[ 0  4  8 12]

#求垂直方向的最小值min()
min_x2=np.min(x,axis=0)
print(min_x2)
#结果:[0 1 2 3]

#求水平方向的最大值max()
max_x1=np.max(x,axis=1)
print(max_x1)
#结果:[ 3  7 11 15]

#求垂直方向的最大值max()
max_x2=np.max(x,axis=0)
print(max_x2)
#结果:[12 13 14 15]

#求平均值(针对所有的元素)
mean_x=np.mean(x)
print(mean_x)
#结果:7.5

#求水平方向的平均值
mean_x2=np.mean(x,axis=1)
print(mean_x2)
#结果:[ 1.5  5.5  9.5 13.5]

#求垂直方向的平均值
mean_x3=np.mean(x,axis=0)
print(mean_x3)
#结果:[6. 7. 8. 9.]


#var()求方差
var_a=np.var(a)
print(var_a)
#结果:8.25

#std()求标准差
std_a=np.std(a)
print(std_a)
#结果:2.8722813232690143




#分为数
a=np.random.rand(10000)
print(np.percentile(a,q=25))
#结果:0.25097776454596266  表示在a列表中有25%的元素小于的某值为:0.25097776454596266

print(np.percentile(a,q=100))
#结果:0.9999961722661844   表示在a列表中有100%的元素小于的某值为:0.9999961722661844,即表明该值为最大值


b=np.array([1,2,3,4,5])
print(np.percentile(b,q=25))
#结果:2.0  表示在b列表中有25%的元素小于的某值为:2.0
print(np.percentile(b,q=50))
#结果:3.0  表示在b列表中有50%的元素小于的某值为:3.0

#coding=utf-8
import numpy as np

a=np.random.random(16)
print(a)
'''
结果:
[0.98187255 0.34520873 0.68770773 0.53537404 0.27273322 0.76427577
 0.3951422  0.42394774 0.34851971 0.88847881 0.36136505 0.13658645
 0.14927431 0.399873   0.43105977 0.88164701]
'''

#argmin()求数组中最小值的索引index
print(np.argmin(a))
#结果:11  print(a[11])结果和np.min(a)一样


#argmax()求数组中最大值的索引index
print(np.argmax(a))
#结果:0  print(a[0])结果和np.max(a)一样


a=np.arange(16).reshape(4,4)
print(a)
'''
结果:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
'''

#shuffix()打乱原数组的排序
np.random.shuffle(a)
print(a)
'''
结果:
[[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]
 [12 13 14 15]]
'''

#sort()对数组进行水平方向排序(注,此时a已被打乱了顺序)
print(np.sort(a,axis=1))
'''
结果:
[[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]
 [12 13 14 15]]
'''

#sort()对数组进行垂直方向排序(注,此时a已被打乱了顺序)
print(np.sort(a,axis=0))
'''
结果:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
'''





#对元素的访问
a=np.arange(16).reshape(4,4)
print(a)
'''
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
'''
#同时访问0 和 3
print(a[0,[True,False,False,True]])
lan=[True,False,False,True]
print(a[0,lan])
#结果:[0 3]

#筛选出数组中[3,10)大于等于3小于10的元素
print(a[(a>=3)&(a<10)])
#结果:[3 4 5 6 7 8 9]

#筛选出数组中可以整除2的元素
print(a[a%2==0])
#结果:[ 0  2  4  6  8 10 12 14]

相关文章

网友评论

      本文标题:numpy聚合运算及扩展其它运算

      本文链接:https://www.haomeiwen.com/subject/ryehbktx.html