- 建立一個2*2的陣列,計算對角線上元素的和
import numpy as np
a = np.arange(4).reshape(2,2)
print (a)
#[[0 1]
# [2 3]]
n1 = a[0,0]
print (n1)
# 0
n2 = a[0,1]
print (n2)
# 1
n3 = a[1,0]
print (n3)
# 2
n4 = a[1,1]
print (n4)
# 3
sum_1 = n1 + n3
print (sum_1)
# 2
sum_2 = n2 + n4
print (sum_2)
# 4
- 建立一個長度為9的一維資料,陣列元素0到8。將它重新變為3*3的二維陣列
import numpy as np
b1 = np.arange(9)
print (b1)
# [0 1 2 3 4 5 6 7 8]
b2 = b1.reshape(3,3)
print (b2)
#[[0 1 2]
# [3 4 5]
# [6 7 8]]
- 建立兩個33的陣列,分別將它們合併為36、6*3的陣列後,拆分為3個陣列(維數不限定)
import numpy as np
c1 = np.arange(9).reshape(3,3)
print (c1)
#[[0 1 2]
# [3 4 5]
# [6 7 8]]
c2 = 3*c1
print (c2)
#[[ 0 3 6]
# [ 9 12 15]
# [18 21 24]]
c3 = np.hstack((c1,c2))
print (c3)
#[[ 0 1 2 0 3 6]
# [ 3 4 5 9 12 15]
# [ 6 7 8 18 21 24]]
c4 = np.vstack((c1,c2))
print (c4)
#[[ 0 1 2]
# [ 3 4 5]
# [ 6 7 8]
# [ 0 3 6]
# [ 9 12 15]
# [18 21 24]]
c5 = np.hsplit(c3,3)
print (c5)
#[array([[0, 1],
# [3, 4],
# [6, 7]]), array([[ 2, 0],
# [ 5, 9],
# [ 8, 18]]), array([[ 3, 6],
# [12, 15],
# [21, 24]])]
c6 = np.vsplit(c4,3)
print (c6)
#[array([[0, 1, 2],
# [3, 4, 5]]), array([[6, 7, 8],
# [0, 3, 6]]), array([[ 9, 12, 15],
# [18, 21, 24]])]
- 說說numpy陣列的優點
NumPy 是高效能科學計算和資料分析的基礎包。
NumPy陣列在數值運算方面的效率優於Python提供的list容器。使用NumPy可以在程式碼中省去很多迴圈語句,因此其程式碼比等價的Python程式碼更為簡潔。