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)
#創(chuàng)建數(shù)組或矩陣的方法
import numpy as np
a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函數(shù)建立矩陣,必須有具體矩陣元素
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的一行數(shù)組
print(e)
f=np.arange(12).reshape((3,4)) #按順序構(gòu)建矩陣
print(f)
g=np.linspace(1,12,20) #將1到12分為20段的數(shù)據(jù)排列
print(g)
h=np.linspace(1,10,6).reshape((2,3)) #分段構(gòu)建矩陣俭识,定義矩陣形狀
print(h)
i=np.random.rand(3,4)#構(gòu)建均勻分布隨機(jī)數(shù)矩陣
print(i)
j=np.random.random((2,4))#構(gòu)建隨機(jī)數(shù)矩陣
print(j)
h=np.random.randn(3,2)
print(h)
k=np.random.normal(0, 1, 10)#正態(tài)分布隨機(jī)數(shù)矩陣
print(k)
#創(chuàng)建數(shù)組或矩陣的方法
import numpy as np
a=np.array([[1,2,3],[2,4,6]],dtype=np.int64) #利用numpy的array函數(shù)建立矩陣,必須有具體矩陣元素
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的一行數(shù)組
print(e)
f=np.arange(12).reshape((3,4)) #按順序構(gòu)建矩陣
print(f)
g=np.linspace(1,12,20) #將1到12分為20段的數(shù)據(jù)排列
print(g)
h=np.linspace(1,10,6).reshape((2,3)) #分段構(gòu)建矩陣,定義矩陣形狀
print(h)
i=np.random.rand(3,4)#構(gòu)建均勻分布隨機(jī)數(shù)矩陣
print(i)
j=np.random.random((2,4))#構(gòu)建隨機(jī)數(shù)矩陣
print(j)
h=np.random.randn(3,2)
print(h)
k=np.random.normal(0, 1, 10)#正態(tài)分布隨機(jī)數(shù)矩陣
print(k)
#基礎(chǔ)運(yùn)算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)) #產(chǎn)生隨機(jī)數(shù)矩陣
print("*",a1)
b1=np.sum(a1)#求和
b2=np.max(a1)#最大值
b3=np.min(a1)#最小值
print(b1,',',b2,',',b3)
print(np.sum(a1,axis=1))#每行都單獨(dú)求和
print(np.max(a1,axis=0))#每列中最大值
#基礎(chǔ)運(yùn)算2
A=np.arange(2,14).reshape((3,4))
print(np.argmin(A))#矩陣最小索引參數(shù)洞渔,arguments:參數(shù)
print(np.argmax(A))#矩陣最大索引參數(shù)
#矩陣平均值
print(np.mean(A))
print(A.mean())
print(np.average(A))
print(np.median(A))#中位數(shù)
print(A)
print(np.cumsum(A))#逐步累積求和
print(np.diff(A))#逐步累差
print(np.nonzero(A))#找出非0的數(shù)
print(np.sort(A))#排序
print(np.transpose(A))#轉(zhuǎn)置
print(A.T.dot(A))#矩陣乘法
print(np.clip(A,5,9))#小于5的數(shù)都變成5套媚,大于9的數(shù)都等與9,介于5磁椒、9中間的數(shù)不變堤瘤,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())#轉(zhuǎn)化為一行向量,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))#縱向分割