# numpy 註1:執行軟體為jupyter notebook 註2:這是我第一次學習python,可能有錯 緩慢更新中2023/6/23 ## 套件 ```python= import numpy as np #讀入套件 ``` ## numpy相關指令 ```python= 載入Numpy套件: import numpy as np 查詢目前使用版本: np.__version__ 查閱套件內容: np.info(np)/help(np) 查詢套件中某一函數: np.lookfor(‘function_name’) ``` ## np.array ### 功能 創建陣列 ### np.array用法 #### 普通版 ```python= >>> a = np.array([1, 2, 3, 4]) #一維陣列建立 >>> b = np.array([(2.5, 1, 3, 4.5), (5, 6, 7, 8)], dtype = float) #二維陣列建立 >>> c = np.array([[(2.5, 1, 3, 4.5), (5, 6, 7, 8)], [(2.5, 1, 3, 4.5), (5, 6, 7, 8)]], dtype = float) #三維陣列建立 ``` #### 進階版 ```python= import numpy as np np.zeros((2, 3)) # 建立一個2x3全為0的陣列 np.ones((2, 3, 4)) # 建立一個2x3x4全為1的陣列 np.arange(1, 10, 2) # 建立一個由1開始,不超過10,間隔值為2的均勻數值陣列 np.linspace(0, 10, 5) # 建立一個0到10之間,均勻的5個數值陣列 np.full((3,2), 8) # 建立一個3x2全為8的陣列 np.eye(2) # 建立一個5x5的單位矩陣 np.random.random((2,3)) # 建立一個2x3的隨機值矩陣 ``` ### 從其他陣列型態(list等等)轉為array型態 ```python= 變數1=[1069.5,151,1515.1]#list型態 變數2=np.array(變數1)#array型態 ``` 註:當為array型態時相乘某數,此某數會把陣列中的所有元數都乘過一次 ex: ![](https://hackmd.io/_uploads/rJRn8cf_h.png) ### 變更array的形狀 #### reshape/shape ```python= array陣列名.reshape(開幾個個幾陣列,每一個陣列擁有幾個數)※打完後不會改變原本陣列,而是重新生成一個新陣列,需改變則:array=array.reshape array陣列名.shape=(開幾個子陣列,每一個陣列擁有幾個元素)※會改變原本形狀 EX:before:100,after:2,50 OR 10,10 ``` 註:兩數相乘需與原本大小一致 ex:reshape before: ![](https://hackmd.io/_uploads/S1CsN5Md3.png) after: ![](https://hackmd.io/_uploads/B1sT4cGdn.png) ex:shape before: ![](https://hackmd.io/_uploads/HJ2CG5z_3.png) after: ![](https://hackmd.io/_uploads/HksJmcfO3.png) ## np.arange ### 功能:提供一個數列 ```python= import numpy as np np.arange(從哪開始(有包括),到哪結束(沒包括),間距為何) ``` 註:查資料過程中,有查到dtype但我不會,所以並未介紹 ex:![](https://hackmd.io/_uploads/HJ-XF9zu3.png) # 參考資料 https://yayar.medium.com/python-numpy%E5%A5%97%E4%BB%B6%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8-55991a7a1c90 https://numpy.org/doc/stable/reference/generated/numpy.arange.html e-wnat # 其它文章 https://hackmd.io/@RwgiwD_zQHaL9zi1EW6ewg/HJKX1n3wh https://hackmd.io/@RwgiwD_zQHaL9zi1EW6ewg/H1w19Tnwh