---
# System prepended metadata

title: numpy
tags: [python]

---

# 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