首先看一下這個靜態圖繪製模塊
python
靜態圖形處理算法
數據分析三劍客數組
海濱城市溫度分析案例數據結構
導包app
# 導包 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) ...
去除沒用的列spa
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)
構造數據,顯示最高溫度與離海遠近的關係3d
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("最高溫度和距離之間的關係") # 標題
多用於預測code
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('最高溫度和距離直接的關係')