numpy 1 1陣列構建

2022-05-25 04:21:10 字數 1074 閱讀 1768

該系列教程源自《python資料科學手冊》,摘抄整理為日後查閱所用。

1.根據python列表建立陣列

np.array([2, 3, 7, 5, 6])

注意,和python列表不同,numpy要求陣列內的資料必須為同一型別。如果型別不匹配,numpy將會向上轉換(如果可行)。

np.array([3.14, 3, 5])  # array([3.14, 3. , 5. ])     整型轉換為浮點型

可使用dtype關鍵字設定陣列的資料型別:

np.array([2, 3, 7, 5, 6], dtype='float32')

不同於python列表,numpy陣列可以被指定為多維:

np.array([range(i, i+3) for i in [2, 4, 6])

2.從頭建立陣列

(1)建立長度為10的陣列,值都是0

np.zeros(10, dtype=int)

(2)建立3*5的浮點型陣列,值都是1

np.ones((3, 5), dtype=float)

(3)建立乙個3*5的浮點型陣列,值都是3.14

np.full((3, 5), 3.14)

(4)建立乙個線性序列陣列

np.arange(0, 20, 2)

(5)建立5個元素的陣列,5個數均勻地分配0~1

np.linspace(0, 1, 5)  # array([0. , 0.25 , 0.5 , 0.75 , 1. ])

(6)建立乙個3*3的陣列,值都是0~1的隨機值

np.random.random((3, 3))

(7)建立乙個3*3的陣列,值為正態分佈的隨機數,期望為0,標準差為1

np.random.normal(0, 1, (3, 3))

(8)建立乙個3*3的陣列,值都是[0, 10)上的隨機整數

np.random.randint(0, 10, (3, 3))

(9)建立乙個3*3的單位矩陣

np.eye(3)

(10)建立乙個3個整型組成的未初始化的陣列,值是記憶體空間中的任意值

np.empty(3)

陣列 構建乘積陣列

給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。注意 規定b 0 a 1 a 2 a n 1 b n 1 a 0 a 1 a n 2 既然不能用乘法,分析題目,我們可以將乘積拆為兩項。即 c i...

劍指offer 陣列 構建乘積陣列

題目 構建乘積陣列 題目描述 給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。注意 規定b 0 a 1 a 2 a n 1 b n 1 a 0 a 1 a n 2 include include...

劍指Offer 陣列 構建乘積陣列

給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。注意 規定b 0 a 1 a 2 a n 1 b n 1 a 0 a 1 a n 2 對於a長度為1的情況,b無意義,故而無法構建,因此該情況不會...