1. 程式人生 > >Python --- Numpy 建立n維陣列基本方法

Python --- Numpy 建立n維陣列基本方法

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))

在這裡插入圖片描述