import numpy as np
# 建立簡單的列表
a = [1, 2, 3, 4]
# 將列表轉換為陣列
b = np.array(b)
b.size
b.shape
b.ndim
b.dtype
array_one = np.ones([10, 10])
array_zero = np.zeros([10, 10])
正態分佈
給定均值/標準差/維度的正態分佈np.random.normal(1.75, 0.1, (2, 3))
# 正態生成4行5列的二維陣列
arr = np.random.normal(1.75, 0.1, (4, 5))
print(arr)
# 擷取第1至2行的第2至3列(從第0行算起)
after_arr = arr[1:3, 2:4]
print(after_arr)
陣列索引
改變陣列形狀
print("reshape函式的使用!")
one_20 = np.ones([20])
print("-->1行20列<--")
print (one_20)
one_4_5 = one_20.reshape([4, 5])
print("-->4行5列<--")
print (one_4_5)
原始資料
條件判斷
import numpy as np
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
stus_score > 80
三目運算
import numpy as np
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
np.where(stus_score < 80, 0, 90)
求最大值
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 求每一列的最大值(0表示列)
print("每一列的最大值為:")
result = np.amax(stus_score, axis=0)
print(result)
print("每一行的最大值為:")
result = np.amax(stus_score, axis=1)
print(result)
求最小值
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 求每一行的最小值(0表示列)
print("每一列的最小值為:")
result = np.amin(stus_score, axis=0)
print(result)
# 求每一行的最小值(1表示行)
print("每一行的最小值為:")
result = np.amin(stus_score, axis=1)
print(result)
求平均值
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 求每一行的平均值(0表示列)
print("每一列的平均值:")
result = np.mean(stus_score, axis=0)
print(result)
# 求每一行的平均值(1表示行)
print("每一行的平均值:")
result = np.mean(stus_score, axis=1)
print(result)
求方差
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 求每一行的方差(0表示列)
print("每一列的方差:")
result = np.std(stus_score, axis=0)
print(result)
# 求每一行的方差(1表示行)
print("每一行的方差:")
result = np.std(stus_score, axis=1)
print(result)
加法
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print("加分前:")
print(stus_score)
# 為所有平時成績都加5分
stus_score[:, 0] = stus_score[:, 0]+5
print("加分後:")
print(stus_score)
乘法
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
print("減半前:")
print(stus_score)
# 平時成績減半
stus_score[:, 0] = stus_score[:, 0]*0.5
print("減半後:")
print(stus_score)
image.png
a = np.array([1, 2, 3, 4])
b = np.array([10, 20, 30, 40])
c = a + b
d = a - b
e = a * b
f = a / b
print("a+b為", c)
print("a-b為", d)
print("a*b為", e)
print("a/b為", f)
根據權重計算成績
矩陣計算總成績
stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])
# 平時成績佔40% 期末成績佔60%, 計算結果
q = np.array([[0.4], [0.6]])
result = np.dot(stus_score, q)
print("最終結果為:")
print(result)
垂直拼接
print("v1為:")
v1 = [[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]]
print(v1)
print("v2為:")
v2 = [[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]]
print(v2)
# 垂直拼接
result = np.vstack((v1, v2))
print("v1和v2垂直拼接的結果為")
print(result)
水平拼接
print("v1為:")
v1 = [[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]]
print(v1)
print("v2為:")
v2 = [[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]]
print(v2)
# 垂直拼接
result = np.hstack((v1, v2))
print("v1和v2水平拼接的結果為")
print(result)
csv檔案以逗號分隔資料
讀取csv格式的檔案
資料處理三劍客之Numpy
ndarray和list列表的區別 python list 列表儲存的是物件的指標,比如 0,1,2 需要儲存 3 個指標和 3 個整數的物件,浪費記憶體資源和cpu計算時間 numpy中的ndarray是一種儲存單一資料型別的多維陣列結構,儲存在乙個連續的記憶體塊中,節約了計算資源。numpy n...
三劍客之HTML,CSS,JS
檔案 夾 名 1 整個 放在乙個命名為 學號姓名 1 資料夾中 2 檔案要分類管理,所有素材和網頁分類存放在相應資料夾 例如 img web 中 3 主頁名index.htm,檔案及資料夾名字不能用中文 4 網頁個數至少2個 5 整個 大小在25mb以下 6 網頁中不用的word txt等素材要求刪...
三劍客之sed grep
如何取得 etc hosts 檔案的許可權對應的數字內容,如 rw r r 為 644,要求使用命令取得644 這樣的數字。root znix stat etc hosts awk f 0 nr 4 root znix stat c a etc hosts linux 下通過 mkdir 命令建立乙...