import numpy as np
a=np.arange(12)
a
a = np.array([(1,2),(3,4)])
a
c = np.array( [ [1.1,2], [3,4] ], dtype=complex )
c
d=np.zeros((3, 4))
e=np.ones( (2,3,4), dtype=np.int16 ) #也可以自定义元素类型
f=np.empty( (2,3) ) #根据内存状态随机初始化数组
#arange类似于Python内置的range
g=np.arange( 10, 30, 5 )
h=np.arange( 0, 2, 0.3 ) #接受小数参数
#arrange函数由于浮点数精度的原因,可能无法知道数组最后有多少个数
#为解决这一问题可以使用linspace函数:
i=np.linspace( 0.3, 2, 9 ) # 9 numbers from 0 to 2
i
a = np.array( [20,30,40,50] )
b = np.arange( 4 )
print(b)
print("a-b是{}".format(a-b))
print("a**2是{}".format(a**2))
print("10*np.sin(a)是{}".format(10*np.sin(a)))
print("a<35是{}".format(a<35))
print("a*b是{}".format(a*b))
#矩阵乘法
A = np.array( [[1,1], [0,1]] )
B = np.array( [[2,0], [3,4]] )
print("A*B是{}".format(A*B))
print("A@B是{}".format(A@B)) #矩阵乘法
print("A.dot(B)是{}".format(A.dot(B))) #矩阵乘法
#+=,*=等运算符进行原地运算(需要加同类型的,如果不能强制转换就会报错)
b = np.arange(12).reshape(3,4)
print("b是{}".format(b))
print("b.sum(axis=0)是{}".format(b.sum(axis=0)))
print("b.sum(axis=1)是{}".format(b.sum(axis=1)))
#这个axis我一直没太搞懂怎么计算的
#0是垂直,1是水平,这种比较直观的。再高维度我就搞不懂了
#为了便于理解,我自己的理解是消融维:
#如果在这个维度上做加总之类的计算,最后的结果就没有这个维度了
print("b.min(axis=1)是{}".format(b.min(axis=1)))
print("b.cumsum(axis=1)是{}".format(b.cumsum(axis=1))) #cumulative sum