首頁 > 軟體

Python中Numpy模組使用詳解

2022-07-21 18:00:27

NumPy

NumPy(Numerical Python) 是 Python 的一個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函數庫。Nupmy可用來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。據說NumPy將Python相當於變成一種免費的更強大的MatLab系統。

NumPy 是一個執行速度非常快的數學庫,主要用於陣列計算,包含:

  • 一個強大的 N 維陣列物件 ndarray
  • 廣播功能函數
  • 整合 C/C++/Fortran 程式碼的工具
  • 線性代數、傅立葉變換、亂數生成等功能

ndarray物件

NumPy 最重要的一個物件是其 N 維陣列物件 ndarray,它是一系列同型別資料的集合,可以使用基於 0 的索引存取集合中的專案。

ndarray 物件是用於存放同型別元素的多維陣列。ndarray中的每個元素在記憶體中使用相同大小的塊。 ndarray中的每個元素是資料型別物件的物件(稱為 dtype)

numpy.array( object ,  dtype = None , ndmin = 0 ,copy = True , order = None ,  subok = False )

 一般只有 object 、dtype和 ndmin 引數常用,其他引數不常用 

import numpy
a=numpy.array([1,2,3]) #一維
b=numpy.array([[1,2,3],[4,5,6]]) #二維
c=numpy.array([1,2,3],dtype=complex) #元素型別為複數
d=numpy.array([1,2,3],ndmin=2) #二維
print(a,type(a))
print(b,type(b))
print(c,type(c))
print(d,type(d))
####################################
[1 2 3] <class 'numpy.ndarray'>
[[1 2 3]
[4 5 6]] <class 'numpy.ndarray'>
[1.+0.j 2.+0.j 3.+0.j] <class 'numpy.ndarray'
[[1 2 3]] <class 'numpy.ndarray'>

​ ​Numpy資料型別​​

Numpy陣列屬性

NumPy 陣列的維數稱為秩(rank),一維陣列的秩為 1,二維陣列的秩為 2,以此類推。

在 NumPy中,每一個線性的陣列稱為是一個軸(axis),也就是維度(dimensions)。比如說,二維陣列相當於是兩個一維陣列,其中第一個一維陣列中每個元素又是一個一維陣列。所以一維陣列就是 NumPy 中的軸(axis),第一個軸相當於是底層陣列,第二個軸是底層陣列裡的陣列。而軸的數量——秩,就是陣列的維數。

很多時候可以宣告 axis。axis=0,表示沿著第 0 軸進行操作,即對每一列進行操作;axis=1,表示沿著第1軸進行操作,即對每一行進行操作。

 ndarray 物件屬性有:

常見的屬性有下面幾種 :

ndarray.shape :  這一陣列屬性返回一個包含陣列緯度的元組,它也可以用於調整陣列大小 

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
print(a.shape) #列印shape屬性
a.shape=(3,2) #修改shape屬性
print(a)
#######################################
(2, 3)
[[1 2]
[3 4]
[5 6]]

 ndarray.ndim: 這一陣列屬性返回陣列的維數

import numpy as np
a=np.arange(24) #np.arange返回0-23的列表型別的資料
print(a.ndim)
b=a.reshape(2,3,4)
print(b)
print(b.ndim)
############################
1
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
3

ndarray.itemsize

import numpy as np
a=np.array([1,2,3]) #預設是四個位元組
print(a.itemsize)
#########################################
4

到此這篇關於Python中Numpy模組使用詳解的文章就介紹到這了,更多相關Python Numpy模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com