python擴充套件庫numpy學習

2021-10-06 09:32:12 字數 3638 閱讀 8457

numpy是 python 語言的乙個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。它整合了c/c++**的工具,使用時又很像matlab,還包括了線性代數、傅利葉變換、隨機數生成等功能。

在使用numpy庫之前你需要安裝numpy庫:

或者可以匯入numpy模組並生成4*4對角矩陣進行測試:

>>

>

import numpy

>>

> numpy.eye(4)

array([[

1.,0

.,0.

,0.]

,[0.

,1.,

0.,0

.],[

0.,0

.,1.

,0.]

,[0.

,0.,

0.,1

.]])

numpy 最重要的乙個特點是其 n 維陣列物件 ndarray,它是一系列同型別資料的集合,以0 下標為開始進行集合中元素的索引。

建立乙個ndarray:

numpy.array(

object

, dtype =

none

, copy =

true

, order =

none

, subok =

false

, ndmin =

0)

引數說明:名稱

描述object

陣列或巢狀的數列

dtype

陣列元素的資料型別

copy

物件是否需要複製

order

建立陣列的樣式,c為行方向,f為列方向,a為任意方向(預設)

subok

預設返回乙個與基類型別一致的陣列

ndmin

指定生成陣列的最小維度

下面我們來對上面的一些引數進行修改及測試:

>>

>

import numpy

>>

> numpy.array([1

,2,3

,4,5

])array([1

,2,3

,4,5

])>>

> numpy.array([1

,2,3

,4,5

],dtype=

str)

#資料型別設定為字串,或者將str改為'array(

['1'

,'2'

,'3'

,'4'

,'5'

], dtype=

')>>

> numpy.array([1

,2,3

,4,5

],dtype =

complex

)#設定為複數型別

array([1

.+0.j,2.

+0.j,3

.+0.j,4.

+0.j,5

.+0.j]

)>>

> b = numpy.array([1

,2,3

,4,5

],order =

'f',ndmin =3)

#設定維度為3

>>

> b

array([[

[1,2

,3,4

,5]]

])>>

> b = numpy.array([[

1,2,

3,4,

5],[

6,7,

8]])

>>

>

print

(b)[

list([

1,2,

3,4,

5])list([

6,7,

8])]

numpy資料型別

numpy資料型別比python內建的資料型別多很多,常用的有:

其中int型別還有int8、int16、int32、int64,uint8、uint16、uint32、uint64

其中float型別還有float16、float32、float64

其中complex型別還有complex64、complex128

資料型別物件(dtype)

資料型別物件是用來描述與陣列對應的記憶體區域如何使用,這依賴如下幾個方面:

內建型別字元**:

字元對應型別

b布林型

i(有符號) 整型

u無符號整型 integer

f浮點型

c複數浮點型

mtimedelta(時間間隔)

mdatetime(日期時間)

s, a

(byte-)字串

例2:int8, int16, int32, int64 四種資料型別可以使用字串 『i1』, 『i2』,『i4』,『i8』 代替

>>

> numpy.dtype(

'i4'

)dtype(

'int32'

)>>

> numpy.dtype(

'i8'

)dtype(

'int64'

)>>

> numpy.dtype(

'i1'

)dtype(

'int8'

)>>

> numpy.dtype(

'i2'

)dtype(

'int16'

)

例3:結構化資料型別的使用

import numpy as np

a = np.dtype([(

'age'

,np.int8)])

b = np.array([(

10,),

(20,)

,(30,

)],dtype = a)

print

(b['age'])

'''[10 20 30]

'''

例4:定義乙個結構化資料型別car,包含字串欄位license,整數欄位value,浮點數字段distance

import numpy as np

car = np.dtype([('licence','s20'),('value','i4'),('distance','f4')])

cars = np.array([('ae86',15000,3452.23),('s666',12000,1232.933),('xx00',999,520.521)])

print(cars)

'''[['ae86' '15000' '3452.23']

['s666' '12000' '1232.933']

['xx00' '999' '520.521']]

'''

numpy陣列的屬性

numpy 陣列的維數稱為秩(rank),秩就是軸的數量,即陣列的維度,一維陣列的秩為 1,二維陣列的秩為 2

未完待更…

python的numpy庫結構 Numpy庫簡介

今天給大家分享乙個資料分析處理資料的常見的庫 numpy。這個庫是 python 資料分析的基礎,它提供的資料結構比 python 自身的更高效。我們知道 python 有自帶的列表資料結構。numpy 庫和 list 列表有什麼區別呢?python list 列表儲存的是物件的指標,比如 0,1,...

python 矩陣庫 NumPy矩陣庫

numpy 矩陣庫 numpy 包包含乙個 matrix庫numpy.matlib。此模組的函式返回矩陣而不是返回ndarray物件。matlib.empty matlib.empty 函式返回乙個新的矩陣,而不初始化元素。該函式接受以下引數。numpy.matlib.empty shape,dty...

Numpy庫的常規使用及擴充套件運用

numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算,包含 它解除了python的pil 全域性直譯器鎖 運算效率極好,是大量機器學習框架的基礎庫 1 乙個強大的n維陣列物件 ndarray 2 廣播功能函式 3 整合 c c fortran 的工具 4 線性代數 傅利葉變換 隨機數生成等功能...