【機器學習】利用 Python 進行數據分析的 Windows 環境配置(Jupyter,Matplotlib,Pandas)
環境配置
安裝 python
部落客使用的版本是 3.10.6
在 Windows 系統上使用 Virtualenv 搭建虛擬環境
- 安裝 Virtualenv
打開 cmd
輸入並執行
pip install Virtualenv
等待安裝完成即可,如下圖。
- 創建虛擬環境
進入自定義文件夾(Virtualenv),打開 cmd
,輸入並執行
py -3 -m venv 虛擬環境名稱
可以看到,自定義文件(Virtualenv)中創建了文件夾(virtualenvironment),即自定義的虛擬環境名稱。
- 進入虛擬環境
進入該文件夾,再進入 Scripts
,打開 cmd
,輸入並執行
activate
- 退出虛擬環境
deactivate
- 將Scripts位置加入環境變數(可忽略)
安裝環境變數之後,可以在任意位置打開 cmd
進入虛擬環境,而不用先進入 Scripts
文件夾
軟體安裝(Windows 版)
更新 pip
- 進入虛擬環境
- 更新
pip
命令
輸入並執行
python.exe -m pip install --upgrade pip
安裝 matplotlib
輸入並執行
pip install matplotlib
安裝 pandas
輸入並執行
pip install pandas
安裝 TA-Lib
進入官網下載相關文件
//www.lfd.uci.edu/~gohlke/pythonlibs/
注意只能下載指定版本,與本機 Python 版本一致
比如:TA_Lib-0.4.24-cp38-cp38-win_amd64.whl
(前面是庫版本 0.4.24,後面是對應的python版本 3.8。最後的數字代表 windows系統。32 位或者 64 位。電腦屬性查看或者 cmd 里 python 查看)
一定要一一對應。否則會報 ERROR: TA_Lib-0.4.24-cp38-cp38-win32.whl is not a supported wheel on this platform.
平台不符合的錯誤。
下載出來的文件不能改名。否則會報ERROR: TA_Lib64.whl(你更改後的文件名) is not a valid wheel filename.
文件名無效錯誤。
將該文件放到虛擬環境的 Scripts
文件夾中,該步驟主要為了方便,如果沒有配置環境變數
輸入並執行(如果該文件在其他文件夾,請輸入文件絕對地址)
pip install TA_Lib-0.4.24-cp310-cp310-win_amd64.whl
安裝 tables
進入官網下載相關文件
//www.lfd.uci.edu/~gohlke/pythonlibs/
注意只能下載指定版本,與本機 Python 版本一致
輸入並執行
pip install tables-3.7.0-cp310-cp310-win_amd64.whl
安裝 jupytyer
輸入並執行
pip install jupyter
Jupyter Notebook 使用
- 進入虛擬環境
- 輸入並執行,即可進入網頁端
jupyter notebook
# 或者
ipython notebook
可創建 python
文件,進行如下操作
每一行是一個 cell
快捷鍵:
ctrl enter
:運行當前cell
,留在當前cell
shift enter
:運行當前cell
,創建並進入下一個cell
命令模式:
Y:cell
切換到 code
模式
M:cell
切換到 markdown
模式
A:在當前 cell
的上面添加 cell
B:在當前 cell
的下面添加 cell
雙擊D:刪除當前 cell
編輯模式:
多游標操作:Ctrl
鍵點擊滑鼠
回退:Ctrl+Z
補全程式碼:變數、方法後跟 Tab
鍵
為一行或多行程式碼添加/取消注釋:Ctrl+/
Matplotlib 使用
基本概念
什麼是Matplotlib : 畫二維圖表的python庫
Matplotlib 三層結構:
- Canvas(畫板)位於最底層,用戶一般接觸不到
- Figure(畫布)建立在Canvas之上
- Axes(繪圖區)建立在Figure之上
- 坐標軸(axis)、圖例(legend)等輔助顯示層以及影像層都是建立在Axes之上
快速入門
步驟
- 創建畫布
- 繪製影像
- 顯示影像
import matplotlib.pyplot as plt
import random
# 需求:再添加一個城市的溫度變化
# 收集到北京當天溫度變化情況,溫度在1度到3度。
# 1、準備數據 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]
# 中文顯示問題
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
# 2、創建畫布
plt.figure(figsize=(20, 8), dpi=80)
# 3、繪製影像
plt.plot(x, y_shanghai, color="r", linestyle="-.", label="上海")
plt.plot(x, y_beijing, color="b", label="北京")
# 顯示圖例,這裡顯示圖例的前提是plt.plot時要添加標籤label=「」
plt.legend(loc = "upper right")#legend有自己的參數可以控制圖例位置
# 修改x、y刻度
# 準備x的刻度說明 ticks表示刻度
x_label = ["11點{}分".format(i) for i in x]
plt.xticks(x[::5], x_label[::5])
#步長為5,即不讓刻度顯示過於密集第一處的x[::5]也要寫,應該是用來給x_label定位的
plt.yticks(range(0, 40, 5))
# 添加網格顯示,其中的alpha是網格的透明程度
plt.grid(linestyle="--", alpha=0.5)
# 添加描述資訊
plt.xlabel("時間變化")
plt.ylabel("溫度變化")
plt.title("上海、北京11點到12點每分鐘的溫度變化狀況")
# 保存圖片,注意必須放在 show 之前, 因為 show 之後會釋放快取
plt.savefig("test.png")
# 4、顯示圖
plt.show()
- 圖形風格
- 圖例位置
- 創建多個繪圖區
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
實例:
import matplotlib.pyplot as plt
import random
# 需求:再添加一個城市的溫度變化
# 收集到北京當天溫度變化情況,溫度在1度到3度。
# 1、準備數據 x y
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]
# 2、創建畫布
# plt.figure(figsize=(20, 8), dpi=80)
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
# 3、繪製影像
axes[0].plot(x, y_shanghai, color="r", linestyle="-.", label="上海")
axes[1].plot(x, y_beijing, color="b", label="北京")
# 顯示圖例
axes[0].legend()
axes[1].legend()
# 修改x、y刻度
# 準備x的刻度說明
x_label = ["11點{}分".format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_label)
axes[0].set_yticks(range(0, 40, 5))
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_label)
axes[1].set_yticks(range(0, 40, 5))
# 添加網格顯示
axes[0].grid(linestyle="--", alpha=0.5)
axes[1].grid(linestyle="--", alpha=0.5)
# 添加描述資訊
axes[0].set_xlabel("時間變化")
axes[0].set_ylabel("溫度變化")
axes[0].set_title("上海11點到12點每分鐘的溫度變化狀況")
axes[1].set_xlabel("時間變化")
axes[1].set_ylabel("溫度變化")
axes[1].set_title("北京11點到12點每分鐘的溫度變化狀況")
# 4、顯示圖
plt.show()