Numpy--資料科學的工具之一
以下也可以使用google colaboratory 操作,這樣就不會留下任何資料在本地
第一步,把它裝下來
![](https://assets.matters.news/embed/07fd9a45-0685-48c4-8156-10298fa66f40.png)
第二步,測試一下
![](https://assets.matters.news/embed/a57a8ddd-d893-4eea-8bdd-ac8948cb5ae9.png)
第三步,嘗試理解它說甚麼
numpy官方,相信我你絕對不會想看的,等有一點熟了,再回來繼續看
於是,至少你現在知道他是用來做矩陣運算的。
好了,說太多廢話,直接切重點
NumPy Array:
此套件有著具備多重維度且同質的ndarray物件(N-dimensional array)。
何謂同質 -- 講白話一點就是在這個矩陣內的元素資料型態都一樣,如int32
跟list的差別就在這(list可以放不同型態的,當然這兩個的處理時間也差很多)
可以拆成維度(ndim)--有學線代應該會說rank
形狀(shape)、數值型態(dtype)
正常來說,當一維陣列時我們會說vector(向量),
二維會說matrix(矩陣),由row(列)、column(行)組成
![](https://assets.matters.news/embed/348021c1-36f4-4e64-b52b-0fe4d5b77e4a.jpeg)
於是乎,numpy學會了如何創造陣列(X
語法:numpy.array()
![](https://assets.matters.news/embed/42ad17c3-8e03-4fac-9e50-408116ba9e67.png)
其資料型態就是大名鼎鼎的ndarray
![](https://assets.matters.news/embed/0c3d47a4-ef6e-4db6-b393-df0ff802dabf.png)
當然也可以去變更其資料
![](https://assets.matters.news/embed/51704590-0776-495d-84be-db01060efc1b.png)
也可以幫它整形(改變維度) -- numpy.reshape(a, newshape, order="F")
a -- 就是你想幫她整形的陣列
newshape -- 新的樣子,如1*6變成2*3這樣
order -- 基本上完全不會用到,有C、F、A,單純的只是一個排列方式,,這個就不試了
![](https://assets.matters.news/embed/f07893ea-439c-4396-8c37-740460d0679f.png)
改變陣列型別有:bool、int、float、string
bool -- 包含True、False
int -- 包含int16、int32、int64,那個數字就是bits,沒學過暫時可以無視它
float -- 包含float16、32、64,這表示小數後幾位
string -- 就打的字串那些
nan -- 則是指遺失值,偶爾會是指非數
![](https://assets.matters.news/embed/49ce8179-9186-4cfa-844e-ff158a5188ad.png)
第四步,拿來做矩陣運算(X
![](https://assets.matters.news/embed/a91d6e7b-b726-48c4-a878-a4572b9c3359.png)
轉置矩陣
![](https://assets.matters.news/embed/e03a59db-9dfe-46ec-9137-c9d27b5241d9.png)
![](https://assets.matters.news/embed/8f627e5b-9dc4-4a23-be96-f734cb2b2a37.jpeg)
點積(dot product)
![](https://assets.matters.news/embed/ec40e420-6aaa-408c-ace7-4baf64881f19.png)
內積(inner)
![](https://assets.matters.news/embed/b9e2b75f-f856-4b42-9962-386ffbcf5c6d.png)
外積(outer)
![](https://assets.matters.news/embed/2d707b59-7fc3-4d88-a3fe-12efb3b6b4c5.png)
倒置矩陣
![](https://assets.matters.news/embed/f5d731e1-d2d6-45a3-9318-45f5afd29d05.png)
以上的都是線性代數會用到(X
第五步,切片索引
一維:
![](https://assets.matters.news/embed/ba30c52e-b038-4b12-9bea-56b69d926aba.png)
![](https://assets.matters.news/embed/bd8ad8c4-91a1-4981-a8c5-740e6ca22bc5.png)
二維:
![](https://assets.matters.news/embed/abbacad1-a723-468a-9439-03eeebf107c7.png)
![](https://assets.matters.news/embed/69f0eaa6-04b8-4b8f-b1e8-ab0203143956.png)
三維:
![](https://assets.matters.news/embed/551db122-f4b1-48c2-951f-dbe2ec916541.png)
第六步,添加及取代及合併
numpy.append:
![](https://assets.matters.news/embed/9d21e77d-7805-4b68-b227-299e6afc3af0.png)
![](https://assets.matters.news/embed/6a9236b0-1003-4505-89ff-af634023530a.png)
numpy.insert(arr,obj,values,axis)
arr -- 一維或多維的陣列
obj -- 元素插入的位置(索引值)
values -- 插入的數值
axis -- 對應的軸,若沒輸入則默認將所有陣列列成一條(flatten),平面化的概念
![](https://assets.matters.news/embed/285adcad-1cbb-4de9-95cd-a68bab868506.png)
![](https://assets.matters.news/embed/3f95af1f-578b-493a-a10d-5f1a580c836a.png)
![](https://assets.matters.news/embed/59be7950-919c-4b69-89a8-78780fa4a3f5.png)
![](https://assets.matters.news/embed/3bc0318b-729e-4eac-9497-a60ddb56d2df.png)
np.delete(arr,obj,axis):解釋同上
![](https://assets.matters.news/embed/5810a11d-0101-4f8f-bea6-477393ec90e0.png)
Combining Arrays:
vstack:垂直方向整合 --- vertical stack
hstack:水平方向整合 --- horizontal stack
concatenate (axis = 0):沿垂直方向整合
concatenate (axis = 1):沿水平方向整合
![](https://assets.matters.news/embed/e37e1553-ae0c-4719-a21a-db6102f7744b.png)
![](https://assets.matters.news/embed/16042de7-f299-4dd7-9fde-78b88dcebbcf.png)
![](https://assets.matters.news/embed/ed567d16-ea70-484f-9f65-dfe4bfae7ffb.png)
![](https://assets.matters.news/embed/29763a3a-6b23-418f-8caa-80450fd2f795.png)
恩...等效的,我在講廢話
Splitting Arrays:
vsplit:垂直方向分割
hsplit:水平方向分割
![](https://assets.matters.news/embed/65f31a64-eced-4bc9-96d1-7a51650cdc10.png)
![](https://assets.matters.news/embed/77a37b8d-895e-41b3-b7c4-4364d4286d11.png)
完工~繼續潛水
![](https://assets.matters.news/embed/1736a0a1-5801-44d2-8405-2a27212186e9.gif)
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/55afa8e4-f5e0-42e3-8d90-b9bd1c085b18.gif/public)
- 来自作者
- 相关推荐