1.matplotlib
首先看一下這個靜態圖繪制模塊
-
靜態圖形處理
-
數據分析三劍客
- Numpy : 主要為了給pandas提供數據源
- pandas : 更重要的數據結構
- matplotlib : 靜態圖形處理
海濱城市溫度分析案例
-
導包
# 導包 import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默認字體 mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題
-
導入數據(各個海濱城的數據)
# 導入數據(各個海濱城市數據) ferrara1 = pd.read_csv('./ferrara_150715.csv') ferrara2 = pd.read_csv('./ferrara_250715.csv') ferrara3 = pd.read_csv('./ferrara_270615.csv') ferrara=pd.concat([ferrara1,ferrara1,ferrara1],ignore_index=True) torino1 = pd.read_csv('./torino_150715.csv') torino2 = pd.read_csv('./torino_250715.csv') torino3 = pd.read_csv('./torino_270615.csv') torino = pd.concat([torino1,torino2,torino3],ignore_index=True) ...
-
去除沒用的列
city_list = [faenza,cesena,piacenza,bologna,asti,ravenna,milano,mantova,torino,ferrara] for city in city_list: city.drop(labels='Unnamed: 0',axis=1,inplace=True)
-
構造數據,顯示最高溫度與離海遠近的關系
max_temp = [] dist_list = [] for city in city_list: temp = city["temp"].max() max_temp.append(temp) dist = city['dist'][0] dist_list.append(dist) plt.scatter(dist_list,max_temp) # 傳入兩個列表 plt.xlabel("距離") # x plt.xlabel("最高溫度") # y plt.title("最高溫度和距離之間的關系") # 標題
2.創建算法模型
2.1 線性回歸算法模型
-
多用於預測
-
sklearn.linear_model
- 創建一個溫度模型,讓其可以根據一個距離預測出該距離對應城市的最高溫度.
#樣本數據的提取 feature = np.array(dist_list) # 數組形式的特征數據 target = np.array(max_temp) # 數組形式的目標數據 # 線性回歸算法模型 y = ax + b --> 通過訓練求出最匹配的a和b from sklearn.linear_model import LinearRegression linear = LinearRegression() # 實例化算法模型 # 訓練模型 linear.fit(feature.reshape(-1,1),target) # 特征數據必須是二維的 !!! # 基於訓練好的模型對象實現預測功能 linear.predict([[226],[333]])
-
繪制關系圖
# 使用多個點繪制最高溫度和距離之間的關系 x = np.linspace(0,400,num=100) y = linear.predict(x.reshape(-1,1)) plt.scatter(dist_list,max_temp) plt.scatter(x,y) plt.xlabel('距離') plt.ylabel('最高溫度') plt.title('最高溫度和距離直接的關系')