NumPy庫的簡單使用

2021-09-11 01:58:43 字數 4478 閱讀 9322

numpython提供了兩種基本的物件:

陣列的屬性及其說明

屬性說明

ndim

返回int。表示陣列的維數

shape

返回tuple。表示陣列的尺寸,對於n行m列的矩陣,形狀為(n,m)

size

返回int。表示陣列的元素總數,等於陣列形狀的乘積

dtype

返回data-type。描述陣列中元素的型別

itemsize

返回int。表示陣列的每個元素的大小(以位元組為單位)。例如,乙個元素型別為float64的陣列的itemsize屬性為8(float64占用64個bits,每個位元組長度為8,所以64/8,占用8個位元組)。又如,乙個元素型別為complex32的陣列的itemsize屬性值為4,即32/8

numpy提供的array函式可以建立一維或多維陣列,基本使用語法如下。

numpy.array(object,dtype=none,copy=true,order=『k』,subok=false,ndmin=0)

array函式的主要引數及其說明

引數名稱

說明object

接受array。表示想要建立的陣列。無缺省

dtype

接收data-type.表示陣列所需的資料型別。表示未給定,則選擇儲存物件所需的最小型別。預設為none

ndmin

接收int。制定生成陣列應該具有的最小維數。預設為none

以下是一些建立一維陣列與多維陣列並檢視陣列屬性的例子:

import numpy as np #匯入numpy庫

arr1 = np.

array([

1,2,

3,4]

) #建立一維陣列

print

('建立的陣列為:'

,arr1)

執行結果:

建立的陣列為: [1 2 3 4]

# 建立二位陣列

arr2 = np.

array([

[1,2

,3,4

],[4

,5,6

,7],

[7,8

,9,10

]])print

('建立的陣列為:\n'

,arr2,

'\n'

)print

('陣列維度為:'

,arr2.shape) #檢視陣列結構

print

('陣列型別為:'

,arr2.dtype) #檢視陣列型別

print

('陣列元素個數為:'

,arr2.size) #檢視陣列元素個數

print

('陣列每個元素大小為:'

,arr2.itemsize) #檢視陣列每個元素大小

執行結果:

建立的陣列為:

[[ 1 2 3 4]

[ 4 5 6 7]

[ 7 8 9 10]]

陣列維度為: (3, 4)

陣列型別為: int32

陣列元素個數為: 12

陣列每個元素大小為: 4

重新設定陣列的shape屬性
arr2.shape=4,

3 #重新設定shape

print

('重新設定shape後的arr2為:\n'

,arr2)

執行結果:

重新設定shape後的arr2為:

[[ 1 2 3]

[ 4 4 5]

[ 6 7 7]

[ 8 9 10]]

使用 arange 函式建立陣列

(初值,終值,間隔) 不包括終值

//0~1,間隔0.1

print

('使用arange函式建立的陣列為:\n'

,np.

arange(0

,1,0.1

))

執行結果:

使用arange函式建立的陣列為:

[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

使用 linspace 函式建立陣列

linspace 函式通過制定開始值、終值和元素個數來建立一維陣列,預設設定包括終值,這一點需要和arange函式區分,**如下:

#0~1

,12個數

print

('使用linspace函式建立的陣列為:\n'

,np.

linspace(0

,1,0.10

))

使用linspace函式建立的陣列為:

[0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556

0.66666667 0.77777778 0.88888889 1. ]

使用 logspace 函式建立等比數列

logspace 函式和 linspace 函式類似,它建立的是等比數列。生成 1 (100) ~ 100 (102)的20個元素的等比數列,**如下:

#1

~100,20個數

print

('使用logspace函式建立的陣列為:\n'

,np.

logspace(0

,2,20

))

執行結果:

使用logspace函式建立的陣列為:

[ 1. 1.27427499 1.62377674 2.06913808 2.6366509

3.35981829 4.2813324 5.45559478 6.95192796 8.8586679

11.28837892 14.38449888 18.32980711 23.35721469 29.76351442

37.92690191 48.32930239 61.58482111 78.47599704 100. ]

使用 zeros 函式建立陣列

zeros 函式用來建立值全部為0的陣列,即建立的陣列值全部填充為0,**如下:

print

('使用zeros函式建立的陣列為:\n'

,np.

zeros((

2,3)

))

執行結果:

使用zeros函式建立的陣列為:

[[0. 0. 0.]

[0. 0. 0.]]

使用 eye 函式建立陣列

eye 函式用來生成主對角線上的元素為1,其他的元素為0的陣列,類似單位矩陣,**如下:

print

('使用eye函式建立的陣列為:\n'

,np.

eye(3)

)

執行結果:

使用eye函式建立的陣列為:

[[1. 0. 0.]

[0. 1. 0.]

[0. 0. 1.]]

使用 diag 函式建立陣列

diag 函式建立類似對角的陣列,即除對角線以外的其他元素都為0,對角線上的元素可以是0或其他值,**如下:

print

('使用diag函式建立的陣列為:\n'

,np.

diag([

1,2,

3,4]

))

執行結果:

使用diag函式建立的陣列為:

[[1 0 0 0]

[0 2 0 0]

[0 0 3 0]

[0 0 0 4]]

使用 ones 函式建立陣列

ones 函式用來建立元素全部為1的陣列,即建立的陣列元素全部填充為1,**如下:

print

('使用ones函式建立的陣列為:\n'

,np.

ones((

5,3)

))

執行結果:

使用ones函式建立的陣列為:

[[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]]

關於numpy庫的介紹,就先到這裡啦,以後有空的話,我會補充更新的

Numpy 庫的簡單介紹和使用

python在處理資料時,會涉及到很多線性代數的運算,比如矩陣的計算,nump的存在,大大簡化了在使用python計算的複雜性,下面簡單介紹下numpy的一些基礎。numpy庫中存在兩種資料型別,陣列 ndarray 和矩陣 matrix 生成陣列 ndarray arr np.array 1,2,...

numpy簡單使用

建立一維陣列 in 1 import numpy as np in 2 np.array 1,2,3 out 2 array 1,2,3 in 3 np.linspace 2.0,3.0,num 5 out 3 array 2.2.25,2.5 2.75,3.建立二維陣列 in 3 data 2,4...

python庫numpy的使用

python在構造機器學習應用程式時,numpy作為乙個重要的函式庫會被經常使用,裡面有便捷的向量和矩陣的計算函式 from numpy import 構造4 4的隨機矩陣 matrix mat random.rand 4,4 矩陣逆矩陣 invmat matrix.i 單位矩陣 matrix ma...