pip install numpy -i
numpy(numerical python) 是 python語言的乙個擴充套件程式庫,支援任意維度的陣列和矩陣操作,此外也針對陣列運算提供了大量的內建方法。
numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算,包含:
•乙個強大的n維陣列物件 ndarray
•廣播功能函式
•整合 c/c++/fortran**的工具
•線性代數、傅利葉變換、隨機數生成等功能數學函式庫。
1、ndarray的屬性
1)屬性及其說明如下表所示:
屬性名字
說明shape
返回 tuple。表示陣列的形狀,對於 n 行 m 列的矩陣,形狀為(n,m)
ndim
返回 int。表示陣列的維數
size
返回 int。表示陣列的元素總數,等於陣列形狀的乘積
dtype
返回 data-type。描述陣列中元素的型別
itemsize
返回 int。表示陣列的每個元素的大小(以位元組為單位)
2)ndarray的資料型別
型別描述
bool
布林型別(true或false)
int8
整數,範圍為−128至127
int16
整數,範圍為−32768至32767
int32
整數,範圍為−231至232-1
int64
整數,範圍為−263至263-1
uint8
無符號整數,範圍為0至255
uint16
無符號整數,範圍為0至65535
uint32
無符號整數,範圍為0至232-1
uint64
無符號整數,範圍為0至264-1
型別描述
float16
半精度浮點數(16位),其中1位表示正負號,5位表示指數,10位表示尾數
float32
單精度浮點數(32位),其中1位表示正負號,8位表示指數,23位表示尾數
float64
單精度浮點數(64位),其中1位表示正負號,11位表示指數,52位表示尾數
complex64
複數,分別用兩個32位浮點數表示實部和虛部
complex128
複數,分別用兩個64位浮點數表示實部和虛部
object
python物件
string_
字串unicode_
unicode型別
2、numpy多種方法建立陣列
1)生成0和1的陣列:
① numpy.zeros(shape,dtype = float,order = "c" )
② numpy.ones(shape,dtype = float,order = "c" )
引數說明:
引數描述
shape
陣列形狀
dtype
資料型別,可選
order
有"c"和"f"兩個選項,分別代表,行優先和列優先,在計算機記憶體中的儲存元素的順序。
2)重現有陣列生成
①numpy.array(object[,dtype,order])
②numpy.asarray(object[,dtype,order])
③numpy.copy(object[,order])
引數名稱
說明object
接收array。表示想要建立的陣列。無缺省。
dtype
接收data-type。表示陣列所需的資料型別。如果未給定,則選擇儲存物件所需的最小型別。預設為none。
order
表示計算機記憶體中的儲存元素的順序
3)生成固定範圍的陣列
①numpy.linspace(start,stop,num=50, endpoint=true,retstep=false,dtype=none)
通過指定開始值、終值和元素個數建立等差數列陣列,預設設定包括終值
引數說明:
引數描述
start
序列的起始值
stop
序列的終止值,如果endpoint為true,該值包含於數列中
num要生成的等步長的樣本數量,預設為50
endpoint
該值為 ture 時,數列中包含stop值,反之不包含,預設是true。
retstep
如果為 true 時,生成的陣列中會顯示間距,反之不顯示。
dtype
ndarray 的資料型別
②np.arange(start,stop,step,dtype)
通過指定開始值、終值和步長建立一維陣列,建立的陣列不含終值。
引數說明:
引數描述
start
起始值,預設為0
stop
終止值(不包含)
step
步長,預設為1
dtype
返回ndarray的資料型別,如果沒有提供,則會使用輸入資料的型別。
4)、生成隨機數組
①numpy.random.uniform(low=0.0,high=1.0,size=none)
功能:產生在[0,1)中均勻分布的隨機數
返回值:ndarray型別,其形狀和引數size中描述一致
引數說明:
引數描述
low取樣下界,float型別,預設值為0
high
取樣上界,float型別,預設值為1
size
輸出樣本數目,為int或元組型別,預設時輸出1個值
② numpy.random.normal(loc=0.0, scale=1.0,size=none)
功能:返回指定形狀的標準正態分佈的陣列
引數說明:
引數描述
loc均值,float型別
scale
標準差,float型別
size
輸出樣本數目,為int或元組型別,預設時輸出1個值
1、一維陣列索引:基於 0-n 的下標進行索引,與python中list操作一致(不含stop)。
① [index] 非負整數:從 0 往後數;負整數:從 -1往前數
②[start : stop] 取值範圍:[start:stop)
③ [start :]、[ : stop] 取值範圍:[start : -1] 、[0 : stop)
④ [start : stop : step] start0:按照步長(順序)取值 [start:stop)
start>stop, step<0:按照步長(從後向前)取值 [start:stop)
⑤array[start : stop] = [n1, n2, …] 陣列元素值修改
2、多維陣列索引:多維陣列的每個維度都有乙個索引,各個維度索引之間用逗號隔開。
[索引1,索引2, ……] 索引規則<= 維度,從前向後匹配維度
1、陣列形狀修改
①ndarray.reshape(shape)
說明:返回新陣列,資料進行重新分割
②ndarray.resize(shape)
說明:修改原始陣列,資料進行重新分割
③ ndarray.t
說明:轉置:行變成列、列變成行,返回新的陣列
2、陣列型別修改
①ndarray.astype(type)
說明:返回新陣列,改變陣列型別的同時不改變原始資料的值
②ndarray.tostring()
說明:轉換成bytes型別
3、陣列的去重
numpy.unique(arr, return_index=false,return_inverse=false, return_counts=false)
功能:找出陣列中的唯一值,並返回已排序結果
引數說明:
①arr:輸入陣列,如果不是一維陣列則會展開
②return_index:若為true,返回新陣列元素在原陣列中的位置(下標)
③return_inverse:若為true,返回原陣列元素在新陣列中的位置(下標)
④return_counts:若為true,返回去重陣列中元素在原陣列中的出現次數
python中numpy模組初級使用
import numpy as np import pylab import math import random 1.reshape 重構 a np.arange 15 reshape 3,5 print a 2.返回陣列結構 print a.shape 3.返回陣列的維數 print a.ndi...
numpy模組矩陣
arr1 np.random.randint 1,10,size 3,3 arr1.sort axis 0 print arr1 arr1.sort axis 1 print arr1 arr6 np.random.randint 1,10,size 10 print arr6 print arr6...
Python必備的模組 Numpy
numpy不是python自帶的庫,需要我們自己安裝,可以去網上找安裝教程,windows可以安裝anaconda,這樣對於好多常用的庫都可以方便使用。使用時候需要先導入 import numpy as np 之後可以用np.的形式使用numpy庫,下邊是一些基本的屬性 array np.array...