python機器學期的常用庫
阿新 • • 發佈:2018-09-18
長度 對象 color type屬性 數值 ndarray 方法 指針 num
b.shape = 2, -1
print b
print b.shape
b.shape = 3, 4
使用reshape方法,可以創建改變了尺寸的新數組,原數組的shape保持不變
c = b.reshape((4, -1))
print "b = \n", b
print ‘c = \n‘, c
數組b和c共享內存,修改任意一個將影響另外一個
b[0][1] = 20
print "b = \n", b
print "c = \n", c
d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.float)
f = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.complex)
print d
print f
如果更改元素類型,可以使用astype安全的轉換
f = d.astype(np.int)
print f
但不要強制僅修改元素類型,如下面這句,將會以int來解釋單精度float類型
d.dtype = np.int
print d
Numpy:
標準Python的列表(list)中,元素本質是對象。
如:L = [1, 2, 3],需要3個指針和三個整數對象,對於數值運算比較浪費內存和CPU,因此才有了Numpy中的ndarray
因此,Numpy提供了ndarray(N-dimensional array object)對象:存儲單一數據類型的多維數組。
1.使用array創建
通過array函數傳遞list對象
L = [1, 2, 3, 4, 5, 6]
print "L = ", L
a = np.array(L)
print "a = ", a
print type(a) # 此時a為 numpy的ndarray類型
若傳遞的是多層嵌套的list,將創建多維數組
b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print b # 此時b為二維數組
數組大小可以通過其shape屬性獲得
print a.shape # (6L,)
print b.shape #(3L, 4L)
也可以強制修改shape
b.shape = 4, 3
print b
# # # 註:從(3,4)改為(4,3)並不是對數組進行轉置,而只是改變每個軸的大小,數組元素在內存中的位置並沒有改變
當某個軸為-1時,將根據數組元素的個數自動計算此軸的長度
b.shape = 2, -1
print b
print b.shape
b.shape = 3, 4
使用reshape方法,可以創建改變了尺寸的新數組,原數組的shape保持不變
c = b.reshape((4, -1))
print "b = \n", b
print ‘c = \n‘, c
數組b和c共享內存,修改任意一個將影響另外一個
b[0][1] = 20
print "b = \n", b
print "c = \n", c
註:c,和 b指向的是同意內存空間的數組,因此修改b會影響c
數組的元素類型可以通過dtype屬性獲得
print a.dtype
print b.dtype
可以通過dtype參數在創建時指定元素類型
d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.float)
f = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.complex)
print d
print f
如果更改元素類型,可以使用astype安全的轉換
f = d.astype(np.int)
print f
但不要強制僅修改元素類型,如下面這句,將會以int來解釋單精度float類型
d.dtype = np.int
print d
python機器學期的常用庫