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) #表示每一行的多列求和
*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)
算术运算符:加减乘除
矩阵和矩阵之间运算
数与矩阵运算
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)
n4 = np.linalg.inv(n2)
print(n4)
n5 = np.round(np.linalg.det(n1))
print(n5)
n6 = np.linalg.matrix_rank(n1)
print(n6)
(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))
不改变输入
import numpy as np
n = np.array([55,44,8,2,9,7,3,6])
print(np.sort(n))
print()
本地处理,不占用空间,但不改变输入
import numpy as np
n1 = np.random.randint(0,10,size=8)
print(n1)
n1.sort()
print(n1)
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)
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)