代码之家  ›  专栏  ›  技术社区  ›  Arpan Mukherjee

正确描述matplotlib python式电子表格图表中的趋势

  •  1
  • Arpan Mukherjee  · 技术社区  · 7 年前

    我有一个非常简单的数据集,其中包含日期和汽油价格。

    在WPS电子表格中如下图所示的绘图

    但相同的数据集在matplotlib python中绘制如下

    我正在绘制的数据帧是

    日期价格
    0 2018年5月12日75.09
    1 2018年5月13日75.09
    2018年5月14日75.28
    3 2018年5月15日75.42
    4 2018年5月16日75.57
    5 2018年5月17日75.78
    6 2018年5月18日76.06
    7 2018年5月19日76.34
    8 2018年5月20日76.66
    2018年5月9日-21日76.98
    10 2018年5月22日77.27
    11 2018年5月23日77.55
    2018年12月5日-24日77.84
    13 2018年5月25日78.19
    14 2018年5月26日78.32
    2018年5月15日-27日78.46
    16 2018年5月28日78.61
    2018年5月17日-29日78.76
    2018年5月18日-30日78.19
    2018年5月19日-31日78.68
    2018年6月20日78.60
    2018年6月21日-02年78.51
    2018年6月22日78.43
    23 2018年6月4日78.43
    2018年6月24日78.16
    2018年6月25日78.05
    26 2018年6月7日77.97
    2018年6月27日77.77
    28 2018年6月9日77.38
    29 2018年6月10日77.15
    2018年6月30日-11月76.96
    2018年6月31日-12月76.82
    32 2018年6月13日76.82
    

    这是我用来绘制的代码 将matplotlib.pyplot导入为plt 将数据集导入为ds

    df=ds.getdataset_petrol(“13-06-2018”)。
    
    plt.绘图(df[“日期”]、df[“价格”])
    
    请显示())
    

    显然,查看电子表格图表显示的是非线性趋势,而matplotlib显示的是线性趋势。

    这使我对使用线性或多项式回归的正确回归模型感到困惑。

    所以我的主要问题是: 我怎样才能使python图看起来像电子表格?

    但相同的数据集在matplotlib python中绘制如下 enter image description here

    我正在绘制的数据帧是

             date  price
    0  2018-05-12  75.09
    1  2018-05-13  75.09
    2  2018-05-14  75.28
    3  2018-05-15  75.42
    4  2018-05-16  75.57
    5  2018-05-17  75.78
    6  2018-05-18  76.06
    7  2018-05-19  76.34
    8  2018-05-20  76.66
    9  2018-05-21  76.98
    10 2018-05-22  77.27
    11 2018-05-23  77.55
    12 2018-05-24  77.84
    13 2018-05-25  78.19
    14 2018-05-26  78.32
    15 2018-05-27  78.46
    16 2018-05-28  78.61
    17 2018-05-29  78.76
    18 2018-05-30  78.19
    19 2018-05-31  78.68
    20 2018-06-01  78.60
    21 2018-06-02  78.51
    22 2018-06-03  78.43
    23 2018-06-04  78.43
    24 2018-06-05  78.16
    25 2018-06-06  78.05
    26 2018-06-07  77.97
    27 2018-06-08  77.77
    28 2018-06-09  77.38
    29 2018-06-10  77.15
    30 2018-06-11  76.96
    31 2018-06-12  76.82
    32 2018-06-13  76.82
    

    这是我用来绘制的代码 将matplotlib.pyplot导入为plt 将数据集导入为ds

    df = DS.getDataSet_petrol("13-06-2018")
    
    plt.plot(df['date'],df['price'])
    
    plt.show()
    

    显然,查看电子表格图表显示的是非线性趋势,而matplotlib显示的是线性趋势。

    这使我对使用线性或多项式回归的正确回归模型感到困惑。

    所以我的主要问题是: 我怎样才能使python图看起来像电子表格?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Fourier    7 年前

    问题似乎是由在您的 df["price"] .

    这可以通过在绘制之前将其转换为浮动来解决。

    plt.plot(df['date'],df['price'].astype('float'))
    

    甚至在处理数据之前:

    df['price'] = df['price'].astype('float')