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 線性代數 傅利葉變換 隨機數生成等功能...