import numpy as np
array=np.array([[1,2,3],[2,4,6]])
array1=np.arange(6).reshape((2,3))
print(array)
print(array1)
print('矩阵维度:',array.ndim)
print('矩阵形状:',array.shape)
print('矩阵元素:',array.size)
#创建数组或矩阵的方法
import numpy as np
a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函数建立矩阵,必须有具体矩阵元素
print(a)
b=np.zeros((3,4)) #零矩阵
print(b)
c=np.ones((3,4),dtype=np.int32) #全部为1的矩阵
print(c)
d=np.empty((3,4)) #全部为空值的矩阵
print(d)
e=np.arange(10,20,2)#10到20步长为2的一行数组
print(e)
f=np.arange(12).reshape((3,4)) #按顺序构建矩阵
print(f)
g=np.linspace(1,12,20) #将1到12分为20段的数据排列
print(g)
h=np.linspace(1,10,6).reshape((2,3)) #分段构建矩阵,定义矩阵形状
print(h)
i=np.random.rand(3,4)#构建均匀分布随机数矩阵
print(i)
j=np.random.random((2,4))#构建随机数矩阵
print(j)
h=np.random.randn(3,2)
print(h)
k=np.random.normal(0, 1, 10)#正态分布随机数矩阵
print(k)
#创建数组或矩阵的方法
import numpy as np
a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函数建立矩阵,必须有具体矩阵元素
print(a)
b=np.zeros((3,4)) #零矩阵
print(b)
c=np.ones((3,4),dtype=np.int32) #全部为1的矩阵
print(c)
d=np.empty((3,4)) #全部为空值的矩阵
print(d)
e=np.arange(10,20,2)#10到20步长为2的一行数组
print(e)
f=np.arange(12).reshape((3,4)) #按顺序构建矩阵
print(f)
g=np.linspace(1,12,20) #将1到12分为20段的数据排列
print(g)
h=np.linspace(1,10,6).reshape((2,3)) #分段构建矩阵,定义矩阵形状
print(h)
i=np.random.rand(3,4)#构建均匀分布随机数矩阵
print(i)
j=np.random.random((2,4))#构建随机数矩阵
print(j)
h=np.random.randn(3,2)
print(h)
k=np.random.normal(0, 1, 10)#正态分布随机数矩阵
print(k)
#基础运算1—矩阵加减乘法
import numpy as np
a=np.array([10,20,30,40])
b=np.arange(4)
c=a-b
d=a+b
e=b**2
print(c)
print(d)
print(e)
#矩阵乘法
f=np.array([[1,2],[3,4]])
g=np.arange(4).reshape((2,2))
h=f*g #逐个相乘
h_dot=np.dot(f,g) #矩阵相乘
h_dot2=f.dot(g) #矩阵相乘2
print(h)
print(h_dot)
print(h_dot2)
a1=np.random.random((2,4)) #产生随机数矩阵
print("*",a1)
b1=np.sum(a1)#求和
b2=np.max(a1)#最大值
b3=np.min(a1)#最小值
print(b1,',',b2,',',b3)
print(np.sum(a1,axis=1))#每行都单独求和
print(np.max(a1,axis=0))#每列中最大值
#基础运算2
A=np.arange(2,14).reshape((3,4))
print(np.argmin(A))#矩阵最小索引参数,arguments:参数
print(np.argmax(A))#矩阵最大索引参数
#矩阵平均值
print(np.mean(A))
print(A.mean())
print(np.average(A))
print(np.median(A))#中位数
print(A)
print(np.cumsum(A))#逐步累积求和
print(np.diff(A))#逐步累差
print(np.nonzero(A))#找出非0的数
print(np.sort(A))#排序
print(np.transpose(A))#转置
print(A.T.dot(A))#矩阵乘法
print(np.clip(A,5,9))#小于5的数都变成5,大于9的数都等与9,介于5、9中间的数不变,clip:修剪
#切片
#numpy索引,注意:索引号0是开始第一个
B=np.arange(3,15).reshape((3,4))
print(B)
print(B[1][1])#第二行第二列的元素
print(B[2,1])#第三行第二列的元素
print(B[2,1:3])
print(B.flatten())#转化为一行向量,flatten:变平
print(B.reshape(1,12))
for i in B.flat:
print(i,end=',')
#矩阵合并与分割,
C=np.array([1,1,1,1])
D=np.array([2,2,2,2])
print('1',np.vstack((C,D)))#上下合并,vertical:垂直的
print('2',np.hstack((C,D)))#左右合并,horizontal:水平的
print('3',B)
print('4',np.split(B,2,axis=1))#按行分割,行分成两部分
print('5',np.split(B,3,axis=0))#按列分割,列分成三部分
print('6',np.array_split(B,3,axis=1))#按行不等分割
print('7',np.array_split(B,2,axis=0))#按列不等分割
print('8',np.vsplit(B,3))#横向分割
print('9',np.hsplit(B,2))#纵向分割