載入包:from numpy import *
有多種方式:使用 python 列表或元祖,使用 arange, linspace 等函式,從檔案中讀取資料。
v=array([1,2,3,4])
m=array( [ [1,2],[3,4] ] )
type(v):型別檢視,結果為numpy 模組提供的 ndarray 型別
v.shape:通過 ndarray.shape 獲得它的維度屬性
v.size:通過ndarray.size獲取陣列的元素數量
shape(m),size(m):使用 numpy.shape 與 numpy.size 函式獲取對應屬性值
m.dtype:使用 ndarray 的 dtype 屬性獲得陣列元素的型別
numpy.ndarray與list區別:
m = array([[1, 2], [3, 4]], dtype=complex):通過在建立陣列時使用 dtype 關鍵字引數顯示地定義元素型別。dtype 的常用值有:int, float, complex, bool, object 等,大小比如:int64/16, float128, complex128需要生產大陣列時可以使用函式來生成陣列,最常用的有如下幾個函式:
m使用 : 能達到同樣的效果:=> array([[ 0.70506801, 0.54618952, 0.31039856],
[ 0.26640475, 0.10358152, 0.73231132],
[ 0.07987128, 0.34462854, 0.91114433]])
m[1]
=> array([ 0.26640475, 0.10358152, 0.73231132])
m[1,:] # row 1可以利用索引進行賦值:m[1,:] = 0,m[:,2] = -1=> array([ 0.26640475, 0.10358152, 0.73231132])
m[:,1] # column 1
=> array([ 0.54618952, 0.10358152, 0.34462854])
a = array([[n+m*10 for n in range(5)] for m in range(5)])=>array([[ 0, 1, 2, 3, 4],
[10, 11, 12, 13, 14],
[20, 21, 22, 23, 24],
[30, 31, 32, 33, 34],
[40, 41, 42, 43, 44]])
row_indices = [1, 2, 3]a[row_indices]
=> array([[10, 11, 12,13, 14],
[20, 21, 22, 23, 24],
[30, 31, 32, 33, 34]])
col_indices = [1, 2, -1] # remember, index -1 means the last element
a[row_indices,col_indices]
=> array([11, 22, 34])
可以用索引掩碼:
b = array([n for n in range(5)])b => array([0, 1, 2, 3, 4])
row_mask = array([true, false, true, false, false])
b[row_mask]
=> array([0, 2])
row_mask = array([1,0,1,0,0], dtype=bool)
b[row_mask]
使用比較操作符生成掩碼:
x = arange(0, 10, 0.5)x => array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ,
5.5, 6. , 6.5, 7. , 7.5, 8. , 8.5, 9. , 9.5])
mask = (5 < x) * (x < 7.5)
mask
=> array([false, false, false, false, false, false, false, false, false,
false, false, true, true, true, true, false, false, false,
false, false], dtype=bool)
x[mask]
=> array([ 5.5, 6. , 6.5, 7. ])
numpy多維陣列
ndarray是一種多維陣列物件 data 1,2,3 4,5,6 arr np.array data,dtype np.int32 print arr print shape arr.shape print arr.ndim 1 2 3 4 5 6 shape 2,3 2np.arange 2,1...
Numpy多維陣列
如果兩個矩陣的大小相同,我們可以使用算術運算子來進行兩個矩陣的計算。numpy將對兩個矩陣的對應位置進行操作處理。當兩個矩陣的大小不同,只有當其中乙個矩陣的維度為1時 例如矩陣只有一列或一行 我們才能在不同大小的矩陣上進行這些算術運算,在這種情況下,numpy將其廣播規則用於該操作 numpy為每個...
NumPy 如何構造多維陣列
start import numpy as np numpy.array object,dtype none,copy true,order k subok false,ndmin 0 a np.array 1,2 3,4 元組轉陣列 a np.array 1,2 3,4 列表轉陣列 numpy.z...