Python --- Numpy 建立n維陣列基本方法
阿新 • • 發佈:2018-12-18
Python Numpy 建立n維陣列基本方法
程式設計環境 Python3.7 + Pycharm <class ‘numpy.ndarray’> 通過 mat() / array()相互轉換 <class ‘numpy.ndarray’>
1. numpy.array()
import numpy as np
A1 = np.array([1,2,3])
A2 = np.array([[1,2,3],[4,5,6]])
print("A1: \n%s"%A1) #顯示格式 對齊
print("A2: \n%s"%A2)
2. numpy.arange() +reshape()/ resize()
resize可以由原來的 array陣列填充生成新的array陣列
import numpy as np
A = np.arange(10).reshape(2,5)
B = np.resize(A,(3,5))
print("A: \n%s"%A) #顯示格式
print("B: \n%s"%B)
print("A的型別 {}".format(type(A)))
3.建立規則矩陣
函式 ones() zeros() eye() identity() diag() Notice: (一) numpy.eye(N,M=None, k=0, dtype=<type ‘float’>) (1)N=M;(2)k=0 對角全為1;k>0 右上角第k條對角線全為1;k<0 左上角第k條為1 (二) numpy.identity(n, dtype=None) 只能建立方形矩陣
import numpy as np
A = np.ones((4,4)) # 單位矩陣 ,引數:元組 A.shape -> (4,4)
B = np.zeros((4,4)) # 零矩陣
C = np.eye(4,k = 0,dtype=int) # 主對角線為全為1的對角矩陣
D = np.identity(4) #4維單位矩陣
E = np.diag(np.arange(1,5))# [1,2,3,4]主對角線矩陣
F = np.diag([3,2,1],k = 1)# 右上角第1條為[3,2,1] 4維對角線矩陣
print('右上角第1條為[3,2,1] 4維對角線矩陣 \n%s' %F)
4. 建立隨機矩陣
生成一個隨機數x
import numpy as np
from random import choice #匯入隨機決策函式
import math
pi = math.pi
x = choice([0,pi/2,pi,3/2*pi,2*pi]) # 從隨機列表中隨機選擇返回一個值
print("1-> 隨機生成的x: %s"%x)
生成整數/浮點數/關於π的矩陣並運算
A = np.random.rand(3,3) # 3*3矩陣 0到1的浮點數
B = np.random.randint(1,4,(3,3)) # 3*3矩陣 [1,2,3]的整型數
C = np.random.choice([0,pi/2,pi,3/2*pi,2*pi],(3,2)) #生成 3*2 的隨機矩陣
D = np.sin(C) #計算C的sin()值
print("2-> C: \n%s"%C)
print("3-> D = sin(C): \n%s"%D)
print("4-> D的資料型別: \n"+str(type(D)))
5. 陣列與矩陣的轉換
mat() array()
import numpy as np
E = np.random.randint(0,10,(2,3)) # 2*3矩陣
F = np.mat(E)
print(F)
print("E的資料型別: %s"%type(E))
print("F的資料型別: %s"%type(F))