該系列教程源自《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無意義,故而無法構建,因此該情況不會...