1.matplotlib

首先看一下这个静态图绘制模块

  • 静态图形处理

  • 数据分析三剑客

    • Numpy : 主要为了给pandas提供数据源
    • pandas : 更重要的数据结构
    • matplotlib : 静态图形处理

海滨城市温度分析案例

  1. 导包

    # 导包
    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 # 解决保存图像是负号\'-\'显示为方块的问题
    
  2. 导入数据(各个海滨城的数据)

    # 导入数据(各个海滨城市数据)
    
    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) 
    ...
    

  1. 去除没用的列

    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)
    
  2. 构造数据,显示最高温度与离海远近的关系

    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(\'最高温度和距离直接的关系\')
      

版权声明:本文为bigox原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bigox/p/11476904.html