python擴展庫numpy學習

numpy簡介

NumPy是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。它整合了C/C++代碼的工具,使用時又很像Matlab,還包括了線性代數、傅里葉變換、隨機數生成等功能。

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

Windows下按Win+r輸入cmd之後輸入pip install numpy等待下載安裝完畢之後顯示Successfully collected pacges: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 ndarray對象介紹

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改爲'<U1'
array(['1', '2', '3', '4', '5'], dtype='<U1')
>>> 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內置的數據類型多很多,常用的有:

  • bool_ :布爾型數據類型
  • int_ :默認的整數類型
  • float_ :雙精度浮點數,等於float64
  • complex_:complex128 類型的簡寫,64位浮點數

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

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

其中complex類型還有complex64、complex128

數據類型對象(dtype)

數據類型對象是用來描述與數組對應的內存區域如何使用,這依賴如下幾個方面:

  • 數據的類型
  • 數據的大小
  • 數據的字節順序(小端法或大端法,**"<“意味着小端法(最小值存儲在最小的地址,即低位組放在最前面)。”>"意味着大端法(最重要的字節存儲在最小的地址,即高位組放在最前面)。**就像我們前面代碼中使用的’<U1’中的<。
  • 在結構化類型的情況下,字段的名稱、每個字段的數據類型和每個字段所取的內存塊的部分

未完待更…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章