numpy學習筆記 其一

2021-09-07 15:02:40 字數 3250 閱讀 1629

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...