Numpy模組的使用

2021-10-25 01:43:40 字數 4196 閱讀 6728

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...