二、Nunpy小結
# coding: utf-8
# # 科學計算庫NumPy
import numpy as np
# ## 1. 創建Array
my_list = [1, 2, 3]
x = np.array(my_list)
print('列表:', my_list)
print('Array: ', x)
np.array([1, 2, 3]) - np.array([4, 5, 6])
m = np.array([[1, 2, 3], [4, 5, 6]])
print(m)
print('shape: ', m.shape)
n = np.arange(0, 30, 2)
print(n)
n = n.reshape(3, 5)
print('reshape後: ')
print(n)
print('ones:\n', np.ones((3, 2)))
print('zeros:\n', np.zeros((3, 2)))
print('eye:\n', np.eye(3))
print('diag:\n', np.diag(my_list))
print('*操作:\n', np.array([1, 2, 3] * 3))
print('repeat:\n', np.repeat([1, 2, 3], 3))
p1 = np.ones((3, 3))
p2 = np.arange(9).reshape(3, 3)
print('縱向疊加: \n', np.vstack((p1, p2)))
print('橫向疊加: \n', np.hstack((p1, p2)))
# ## 2. Array操作
print('p1: \n', p1)
print('p2: \n', p2)
print('p1 + p2 = \n', p1 + p2)
print('p1 * p2 = \n', p1 * p2)
print('p2^2 = \n', p2 ** 2)
print('p1.p2 = \n', p1.dot(p2))
p3 = np.arange(6).reshape(2, 3)
print('p3形狀: ', p3.shape)
print(p3)
p4 = p3.T
print('轉置後p3形狀: ', p4.shape)
print(p4)
print('p3數據類型:', p3.dtype)
print(p3)
p5 = p3.astype('float')
print('p5數據類型:', p5.dtype)
print(p5)
a = np.array([-4, -2, 1, 3, 5])
print('sum: ', a.sum())
print('min: ', a.min())
print('max: ', a.max())
print('mean: ', a.mean())
print('std: ', a.std())
print('argmax: ', a.argmax())
print('argmin: ', a.argmin())
# ## 3. 索引與切片
# 一維array
s = np.arange(13) ** 2
print('s: ', s)
print('s[0]: ', s[0])
print('s[4]: ', s[4])
print('s[0:3]: ', s[0:3])
print('s[[0, 2, 4]]: ', s[[0, 2, 4]])
# 二維array
r = np.arange(36).reshape((6, 6))
print('r: \n', r)
print('r[2, 2]: \n', r[2, 2])
print('r[3, 3:6]: \n', r[3, 3:6])
r > 30
# 過濾
print(r[r > 30])
# 將大於30的數賦值爲30
r[r > 30] = 30
print(r)
# copy()操作
r2 = r[:3, :3]
print(r2)
# 將r2內容設置爲0
r2[:] = 0
# 查看r的內容
print(r)
r3 = r.copy()
r3[:] = 0
print(r)
# ## 4. 遍歷 Array
t = np.random.randint(0, 10, (4, 3))
print(t)
for row in t:
print(row)
# 使用enumerate()
for i, row in enumerate(t):
print('row {} is {}'.format(i, row))
t2 = t ** 2
print(t2)
# 使用zip對兩個array進行遍歷計算
for i, j in zip(t, t2):
print('{} + {} = {}'.format(i, j, i + j))
x = np.ones(10)
print(x)
x.ndim
x.transpose()
print(x)
x.ndim
x.reshape(-1,1)
print(x)
x.ndim
x.reshape(10,1)
print(x)
x.ndim
# # 科學計算庫NumPy
import numpy as np
# ## 1. 創建Array
my_list = [1, 2, 3]
x = np.array(my_list)
print('列表:', my_list)
print('Array: ', x)
np.array([1, 2, 3]) - np.array([4, 5, 6])
m = np.array([[1, 2, 3], [4, 5, 6]])
print(m)
print('shape: ', m.shape)
n = np.arange(0, 30, 2)
print(n)
n = n.reshape(3, 5)
print('reshape後: ')
print(n)
print('ones:\n', np.ones((3, 2)))
print('zeros:\n', np.zeros((3, 2)))
print('eye:\n', np.eye(3))
print('diag:\n', np.diag(my_list))
print('*操作:\n', np.array([1, 2, 3] * 3))
print('repeat:\n', np.repeat([1, 2, 3], 3))
p1 = np.ones((3, 3))
p2 = np.arange(9).reshape(3, 3)
print('縱向疊加: \n', np.vstack((p1, p2)))
print('橫向疊加: \n', np.hstack((p1, p2)))
# ## 2. Array操作
print('p1: \n', p1)
print('p2: \n', p2)
print('p1 + p2 = \n', p1 + p2)
print('p1 * p2 = \n', p1 * p2)
print('p2^2 = \n', p2 ** 2)
print('p1.p2 = \n', p1.dot(p2))
p3 = np.arange(6).reshape(2, 3)
print('p3形狀: ', p3.shape)
print(p3)
p4 = p3.T
print('轉置後p3形狀: ', p4.shape)
print(p4)
print('p3數據類型:', p3.dtype)
print(p3)
p5 = p3.astype('float')
print('p5數據類型:', p5.dtype)
print(p5)
a = np.array([-4, -2, 1, 3, 5])
print('sum: ', a.sum())
print('min: ', a.min())
print('max: ', a.max())
print('mean: ', a.mean())
print('std: ', a.std())
print('argmax: ', a.argmax())
print('argmin: ', a.argmin())
# ## 3. 索引與切片
# 一維array
s = np.arange(13) ** 2
print('s: ', s)
print('s[0]: ', s[0])
print('s[4]: ', s[4])
print('s[0:3]: ', s[0:3])
print('s[[0, 2, 4]]: ', s[[0, 2, 4]])
# 二維array
r = np.arange(36).reshape((6, 6))
print('r: \n', r)
print('r[2, 2]: \n', r[2, 2])
print('r[3, 3:6]: \n', r[3, 3:6])
r > 30
# 過濾
print(r[r > 30])
# 將大於30的數賦值爲30
r[r > 30] = 30
print(r)
# copy()操作
r2 = r[:3, :3]
print(r2)
# 將r2內容設置爲0
r2[:] = 0
# 查看r的內容
print(r)
r3 = r.copy()
r3[:] = 0
print(r)
# ## 4. 遍歷 Array
t = np.random.randint(0, 10, (4, 3))
print(t)
for row in t:
print(row)
# 使用enumerate()
for i, row in enumerate(t):
print('row {} is {}'.format(i, row))
t2 = t ** 2
print(t2)
# 使用zip對兩個array進行遍歷計算
for i, j in zip(t, t2):
print('{} + {} = {}'.format(i, j, i + j))
x = np.ones(10)
print(x)
x.ndim
x.transpose()
print(x)
x.ndim
x.reshape(-1,1)
print(x)
x.ndim
x.reshape(10,1)
print(x)
x.ndim
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.