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’中的<。
- 在結構化類型的情況下,字段的名稱、每個字段的數據類型和每個字段所取的內存塊的部分
未完待更…