本文主要是介绍python_numpy库_ndarray的聚合操作、矩阵操作等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、ndarray的聚合操作
1、求和np.sum()
import numpy as np
n = np.arange(10)
print(n)
s = np.sum(n)
print(s)
n = np.random.randint(0,10,size=(3,5))
print(n)
s1 = np.sum(n)
print(s1) #全部数加起来
s2 = np.sum(n,axis=0)
print(s2) #表示每一列的多行求和
s3 = np.sum(n,axis=1)
print(s3) #表示每一行的多列求和
2、最小值np.min
3、最大值np.max
4、平均值np.mean
5、平均值np.average
6、中位数np.median
7、百分位数np.percentile
8、最小值对应的下标np.argmin
9、最大值对应的下标np.argmax
10、标准差np.std
11、方差np.var
12、次方,求幂np.power
13、按条件查找np.argwhere
14、np.nansum
-
*nan:数值类型,not a number:不是一个正常的数值,表示空
-
*np.nan:float类型
#对于含有空的数组,要用np.nansum进行求和
n = np.array([1,2,3,np.nan])
print(n)
#实质是去掉空值后的数组进行求和
s4 = np.nansum(n)
print(s4)
二、矩阵操作
1、基本的矩阵操作
算术运算符:加减乘除
矩阵和矩阵之间运算
数与矩阵运算
2、矩阵乘积
np.dot(第一个矩阵的列数等于第二个矩阵的行数)
import numpy as np
n1 = np.random.randint(0,10,size=(4,4))
n2 = np.random.randint(0,10,size=(4,5))
print(n1,n2)
print()
n3 = np.dot(n1,n2)
print(n3)
3、矩阵的逆
n4 = np.linalg.inv(n2)
print(n4)
4、行列式的计算
n5 = np.round(np.linalg.det(n1))
print(n5)
5、矩阵的秩
n6 = np.linalg.matrix_rank(n1)
print(n6)
三、ndarray的广播机制
(1)、为缺失的维度补维度
(2)、缺失元素用已有的数组填充
import numpy as np
x = np.full(shape=(3,3),fill_value=2)
print(x)
y = np.arange(3)
print(y)
z = x+y
print(z)
#注:第二个数组会自动补上两行[0 1 2],然后在进行相加
四、数学操作
import numpy as np
n = np.array([1,2,3,5,5,44,55,66])
#绝对值
print(np.abs(n))
#平方根
print(np.sqrt(n))
#平方
print(np.square(n))
#指数
print(np.exp(n))
#自然对数
print(np.log(n))
#以2为底的对数
print(np.log2(n))
#以10为底的对数
print(np.log10(n))
#正弦函数
print(np.sin(n))
#余弦函数
print(np.cos(n))
#正切函数
print(np.tan(n))
#向上取整
print(np.ceil(n))
#四舍五入
print(np.round(n,2))
#向下取整
print(np.floor(n))
#累加
print(np.cumsum(n))
五、ndarray的排序
1、np.sort()
不改变输入
import numpy as np
n = np.array([55,44,8,2,9,7,3,6])
print(np.sort(n))
print()
2、ndarray.sort()
本地处理,不占用空间,但不改变输入
import numpy as np
n1 = np.random.randint(0,10,size=8)
print(n1)
n1.sort()
print(n1)
六、文件操作
1、保存数组到npy或npz文件
save:保存ndarray到一个npy文件。
savez:将多个array保存到一个npz文件中。
import numpy as np
x = np.arange(5)
y = np.arange(10,20)
np.save('x',x)
np.savez('arr.npz',xarr = x,yarr = y)
a = np.load('x.npy')
b = np.load('arr.npz')['yarr']
print(a)
print(b)
2、保存数组到csv或txt文件
n = np.random.randint(0,10,size=(3,4))
#存储到csv或txt
#delimiter = ',':分隔符
np.savetxt('arr.csv',n,delimiter=',')
#读取csv或txt
#注:最新版numpy不能用dtype要用astype
c = np.loadtxt('arr.csv',delimiter=',').astype(np.int8)
print(c)
这篇关于python_numpy库_ndarray的聚合操作、矩阵操作等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!