前言
在python 中有時候我們用數組操作數據可以極大的提升數據的處理效率,類似于R的向量化操作,是的數據的操作趨于簡單化,在python 中是使用numpy模塊可以進行數組和矢量計算。
下面來看下簡單的例子
import numpy as np data=np.array([2,5,6,8,3]) #構造一個簡單的數組 print(data)
結果:
[2 5 6 8 3]
data1=np.array([[2,5,6,8,3],np.arange(5)]) #構建一個二維數組 print(data1)
結果:
[[2 5 6 8 3][0 1 2 3 4]]
我們也可以通過shape和dtype方法查看數組的維度和數據格式
print(data.shape)print(data.dtype)print(data1.shape)print(data1.dtype)
結果:
(5,)int32(2, 5)int32
可以看出data是一維數組,每組元素為5個,數據類型為32位int 類型
data1 為二維數組,每個組有5個元素,數據類型為32位int類型
有一個較好的區分方法是看打印結果中,中括號的層數和位置,就可以看出數組的維度,一層中括號代表一個維度。
其他的數組屬性方法還有:
array.ndim   數組的維數,一維數組結果為1,二維數組打印結果為2
array.size     數組的元素個數
array.itemsiz   數組每個元素的字節大小
接下來我們了解下數組中的數據類型:
NumPy中的基本數據類型
| 名稱 | 描述 | 
| bool | 用一個字節存儲的布爾類型(True或False) | 
| inti | 由所在平臺決定其大小的整數(一般為int32或int64) | 
| int8 | 一個字節大小,-128 至 127 | 
| int16 | 整數,-32768 至 32767 | 
| int32 | 整數,-2 ** 31 至 2 ** 32 -1 | 
| int64 | 整數,-2 ** 63 至 2 ** 63 - 1 | 
| uint8 | 無符號整數,0 至 255 | 
| uint16 | 無符號整數,0 至 65535 | 
| uint32 | 無符號整數,0 至 2 ** 32 - 1 | 
| uint64 | 無符號整數,0 至 2 ** 64 - 1 | 
| float16 | 半精度浮點數:16位,正負號1位,指數5位,精度10位 | 
| float32 | 單精度浮點數:32位,正負號1位,指數8位,精度23位 | 
| float64或float | 雙精度浮點數:64位,正負號1位,指數11位,精度52位 | 
| complex64 | 復數,分別用兩個32位浮點數表示實部和虛部 | 
| complex128或complex | 復數,分別用兩個64位浮點數表示實部和虛部 | 
新聞熱點
疑難解答