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) #檢視陣列每個元素大小
執行結果:
建立的陣列為:重新設定陣列的shape屬性[[ 1 2 3 4]
[ 4 5 6 7]
[ 7 8 9 10]]
陣列維度為: (3, 4)
陣列型別為: int32
陣列元素個數為: 12
陣列每個元素大小為: 4
arr2.shape=4,
3 #重新設定shape
print
('重新設定shape後的arr2為:\n'
,arr2)
執行結果:
重新設定shape後的arr2為:使用 arange 函式建立陣列[[ 1 2 3]
[ 4 4 5]
[ 6 7 7]
[ 8 9 10]]
(初值,終值,間隔) 不包括終值
//0~1,間隔0.1
print
('使用arange函式建立的陣列為:\n'
,np.
arange(0
,1,0.1
))
執行結果:
使用arange函式建立的陣列為:使用 linspace 函式建立陣列[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
linspace 函式通過制定開始值、終值和元素個數來建立一維陣列,預設設定包括終值,這一點需要和arange函式區分,**如下:
#0~1
,12個數
print
('使用linspace函式建立的陣列為:\n'
,np.
linspace(0
,1,0.10
))
使用linspace函式建立的陣列為:使用 logspace 函式建立等比數列[0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
0.66666667 0.77777778 0.88888889 1. ]
logspace 函式和 linspace 函式類似,它建立的是等比數列。生成 1 (100) ~ 100 (102)的20個元素的等比數列,**如下:
#1
~100,20個數
print
('使用logspace函式建立的陣列為:\n'
,np.
logspace(0
,2,20
))
執行結果:
使用logspace函式建立的陣列為:使用 zeros 函式建立陣列[ 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 函式用來建立值全部為0的陣列,即建立的陣列值全部填充為0,**如下:
print
('使用zeros函式建立的陣列為:\n'
,np.
zeros((
2,3)
))
執行結果:
使用zeros函式建立的陣列為:使用 eye 函式建立陣列[[0. 0. 0.]
[0. 0. 0.]]
eye 函式用來生成主對角線上的元素為1,其他的元素為0的陣列,類似單位矩陣,**如下:
print
('使用eye函式建立的陣列為:\n'
,np.
eye(3)
)
執行結果:
使用eye函式建立的陣列為:使用 diag 函式建立陣列[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
diag 函式建立類似對角的陣列,即除對角線以外的其他元素都為0,對角線上的元素可以是0或其他值,**如下:
print
('使用diag函式建立的陣列為:\n'
,np.
diag([
1,2,
3,4]
))
執行結果:
使用diag函式建立的陣列為:使用 ones 函式建立陣列[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
ones 函式用來建立元素全部為1的陣列,即建立的陣列元素全部填充為1,**如下:
print
('使用ones函式建立的陣列為:\n'
,np.
ones((
5,3)
))
執行結果:
使用ones函式建立的陣列為:關於numpy庫的介紹,就先到這裡啦,以後有空的話,我會補充更新的[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
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...