認識Numpy Ndarray物件

2022-09-02 20:27:08 字數 2655 閱讀 1118

numpy(numerical python) 是 python 語言的乙個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。

numpy為什麼能夠受到各個資料科學從業人員的青睞與追捧,其實很大程度上是因為numpy在向量計算方面做了很多優化,介面也非常友好。而這些其實都是在圍繞著numpy的乙個核心資料結構ndarray

ndarray的全稱是(n-dimension arrary),表明了乙個ndarray物件就是乙個n維陣列。但要注意的是,ndarray是同質的。同質的意思就是說n維陣列裡的所有元素必須是屬於同一種資料型別的。

例項化ndarray物件的函式有很多種,但最為常用的函式是arrayzerosones以及empty

首先匯入numpy:

import numpy as np
使用numpy中的array函式將list中的值作為初始值,來例項化乙個ndarray物件。

a = np.array([[2, 3, 4],[5, 6, 7]])

print(a)

結果為:

顧名思義,使用這些函式可以例項化乙個全是0、1或者是為空的ndarray物件

import

numpy as np

a = np.zeros((3, 4))

b = np.ones((3, 4))

c = np.empty((3, 4))

print

(a)print

(b)print(c)

結果為:

使用reshape函式改變ndarray物件的形狀

import

numpy as np

a = np.zeros((3, 4))

print

(a)#

使用函式reshape將3行4列改成4行3列

a = a.reshape((4, 3))

print(a)

結果為:

對ndarray進行加減乘除等操作

import

numpy as np

a = np.array([0, 1, 2, 3])

print

(a)#

a中的所有元素都加2

b = a + 2

print

(b)#

a中的所有元素都減2

c = a - 2

print

(c)#

a中的所有元素都乘以2

d = a * 2

print

(d)#

a中的所有元素都除以2

e = a / 2

print(e)

結果為:

ndarray元素的索引從0開始。ndarray的切片方式與pythonlist的遍歷方式也極為相似,掌握了訣竅之後就很簡單。

舉個例子,假設想要將下圖中紫色部分切片出來,就需要確定行的範圍和列的範圍。由於紫色部分行的範圍是02,所以切片時行的索引範圍是0:3(索引範圍是左閉右開);又由於紫色部分列的範圍也是02,所以切片時列的索引範圍也是0:3(索引範圍是左閉右開)。最後把行和列的索引範圍整合起來就是[0:3, 0:3](,左邊是行的索引範圍)。當然有時為了方便,0可以省略,也就是[:3, :3]

**如下:

import

numpy as np

a = np.array([[1,10,11,20,21],[2,9,12,19,22],[3,8,13,18,23],[4,7,14,17,24],[5,6,15,16,25]])

print

(a)print(a[:3, :3])

結果為:

對「認識」的認識

很早就想談談關於 認識 的認識。這是乙個巨集大深刻的哲學問題。只是覺得沒有完全思考清楚,還以為觀點有些偏頗,擔心自己沒能力系統論述,就遲遲沒有動筆。但想到談論的問題本身就是乙個偏頗的問題,而且,我始終覺得,問題儘管偏頗,但卻不無道理。所以,提筆寫下這篇文字。正像思想的本質是不安一樣,認識的本質是片面...

numpy ndarray掩碼操作

bool掩碼 掩出位置為true處的值 從大資料集中抽取出一小部分 e.g.抽取年齡大於40歲的學生 import numpy as np a np.arange 1,10 設定掩碼 mask true false true false true false true false true fals...

Numpy ndarray的矩陣處理

1.向量運算 相同大小的陣列間運算應用在元素上 向量與向量運算 arr np.array 1,2,3 4,5,6 print 元素相乘 print arr arr print 矩陣相加 print arr arr 結果 元素相乘 1 4 9 16 25 36 矩陣相加 2 4 6 8 10 12 向...