ndarray:一種多維陣列物件,ndarray是乙個通用的同構資料多維容器,即其中的每乙個元素必須是相同型別的。當元素的型別不同時,系統會強制轉換資料型別。每個陣列都有乙個shape(乙個表示各維度大小的元組)和有乙個dtype(乙個用於說明資料型別的物件)
使用np.ndarray()建立陣列時,引數為乙個序列,這個引數中元素的個數表示該陣列的維度,從第乙個元素開始表示每個維度元素的多少,如下面的例子,三個元素得到了乙個三維陣列,第乙個元素是1,表示這個三維陣列只有乙個二維陣列元素,第二個元素為2,表示每個二維陣列元素中包含兩個一維陣列,最後的3表示每個一位陣列有三個元素。(這些元素均是系統自帶的,無實際意義),dtype指定元素型別。
a = np.ndarray([1,2,3],dtype=np.float64)
aarray([[[3.44900708e-307, 2.09483834e-321, 0.00000000e+000],
[1.02455032e-311, 0.00000000e+000, 3.25060610e-319]]])
使用np.array()可以建立指定元素的多維陣列
#一維陣列
a = np.array([1,2,3])
aarray([1, 2, 3])
a.shape
(3,)
a.dtype
dtype('int32')
#二維陣列
b = np.array(((1,2,3),(4,5,6),(7,8,9)))
barray([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
b.shape
(3, 3)
b.dtype
dtype('int32')
#三維陣列
c = np.array([[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[16,17,18]]],dtype=np.float64)
carray([[[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]],
[[10., 11., 12.],
[13., 14., 15.],
[16., 17., 18.]]])
c.shape
(2, 3, 3)
c.dtype
dtype('float64')
b = np.asarray((,,))
barray([, , ], dtype=object)
b = np.array((,,))
barray([, , ], dtype=object)
d = np.array((,,))
darray([, , ], dtype=object)
d.shape
(3,)
d.dtype
dtype('o')
d = np.array((,,))
d.shape
(3,)
d.dtype
dtype('o')
使用zeros和zeros_like建立多維陣列
a = np.zeros(5)
aarray([0., 0., 0., 0., 0.])
b = np.zeros_like([1,2,3,4,5])
barray([0, 0, 0, 0, 0])
a1 = np.zeros((3,3))
a1array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
使用ones和ones_like建立多維陣列
a = np.ones((3))
aarray([1., 1., 1.])
b = np.ones_like([1,2,3,4,5])
barray([1, 1, 1, 1, 1])
使用empty和empty_like建立陣列
a = np.empty((1,2,3))
aarray([[[3.44900708e-307, 2.09483834e-321, 0.00000000e+000],
[1.02455032e-311, 0.00000000e+000, 3.25060610e-319]]])
a = np.empty_like([1,2,3])
aarray([1, 2, 3])
使用arange建立陣列
a = np.arange(5)
aarray([0, 1, 2, 3, 4])
使用eye和identity建立陣列
a = np.eye((5))
aarray([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
b = np.identity((5))
barray([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
函式
說明array
將輸入資料(列表、元組、陣列或其他序列型別)轉換為ndarray,要麼推斷出dtype,要麼顯式指定dtype.預設直接複製輸入資料
asarray
將輸入轉換為ndarray,如果輸入本身就是乙個ndarray就不進行複製
arange
類似於內建的range,但返回的是乙個ndarray而不是列表
ones、ones_like
根據指定的形狀和dtype建立乙個全1陣列。ones_like以另乙個陣列為引數,並根據其形狀和dtype建立乙個全1陣列
zeros、zeros_like
類似於ones和ones_like,只不過產生的是全0陣列
empty、empty_like
建立新陣列,只分配記憶體空間但不填充任何值
eye、identity
建立乙個正方的n * n單位矩陣(對角線為1,其餘為0)
Python學習筆記 其一
運算子佔位符 python的 內建函式 型別轉換 字串的常用函式 型別支援的表示方式 舉例整型 二進位制 八進位制 十進位制 十六進製制 0b100 二進位制 0o100 八進位制 100,0x100 十六進製制 浮點型數學寫法 科學計數法 456.123 或4.56123e2 字串原始字串表示 位...
Numpy學習筆記(一)
numpy的主要物件是同種元素的多維陣列,這和python的列表稍微不同,python列表的元素型別可以不同。在numpy中,維度 dimensions 叫做軸 axes 軸的個數叫做秩 rank 比如 1,2,3 是乙個秩為1 的陣列,軸長度為3 1.0.0.0.1.2.陣列的秩為2,第一維的維度...
matlab學習其一
lesson 1 clear 清除所有變數 clc 清屏 1.取整函式 round 向最接近的整數取整,小數字如果大於0.5,取絕對值大的整數 fix 向0取整 floor 小於等於該數的最接近整數 ceil 大於等於該數的最接近整數 eg.a1 round 2.5 3 a2 round 2.4 2...