前言
本文為「成為 Python 數據分析達人的第一堂課」課程的學習筆記。
使用套件
從 numpy 擴充程式庫引入 sin() 函式。
1 | import numpy |
幫引入的擴充程式庫 numpy 取一個別名 np。
1 | import numpy as np |
數據分析基本套件
數據分析的標準前置動作。
使用 %matplotlib inline 可以直接印出圖像,不必再輸入 plt.show() 指令。
1 | %matplotlib inline |
繪製折線圖。
1 | plt.plot([1, -5, 6, 19, 33]) |
取得 10 個平均値是 0 且標準差是 1 的亂數。
1 | np.random.randn(10) |
處理串列元素
在迴圈使用 append() 函式將處理過的元素放進陣列。
1 | p = [456, 615, 849] |
- 在數據分析中使用迴圈並不是一個好方法。
陣列
使用 numpy 提供的 np.array() 方法,將串列轉換為陣列。
1 | p = [456, 615, 849] |
- 在數據分析中使用陣列是一個好方法。
矩陣運算
把陣列中的各個元素乘上不同的加權係數,並且相加起來。
1 | grades = np.array([85, 76, 82]) |
或直接使用 numpy 提供的 np.dot() 方法,進行矩陣相乘。
1 | np.dot(grades, weights) |
也可以將 np.dot() 方法運用在二維陣列。
1 | grades = [[78, 69, 80], |
定義多維陣列
使用 numpy 提供的 np.shape() 方法,查看或定義陣列的維度與大小。
1 | A = np.random.randn(12) |
或使用 reshape() 方法,達到同樣的效果。
1 | A = A.reshape(6, 2) |
reshape()方法不會更動原來的陣列。
生成陣列
使用 for 迴圈。
1 | xy = [[x, y] for x in range(3) for y in range(3)] |
生成一個値都是 0 的陣列。
1 | np.zeros(10) |
生成一個値都是 1 的陣列。
1 | np.ones(10) |
生成一個 n 階的單位矩陣。
1 | np.eye(5) |
陣列繪圖
使用 numpy 提供的 np.linspace() 方法建立繪圖區間。
1 | x = np.linspace(0, 10, 10) |
np.linspace()方法的三個參數分別是起始値、結束値,以及描點的數量。
陣列篩選
判斷陣列當中符合條件的元素。
1 | L = np.array([3, -2, 57, 64, -33, 17, 96, -74]) |