#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]
网友评论