Правильное отображение тенденций в matplotlib python, таких как электронные таблицы

1

У меня довольно простой набор данных, содержащий даты и цены на бензин.

Это выглядит так, как показано ниже в WPS Spreadsheet

Изображение 174551

Но один и тот же набор данных формируется в matplotlib python следующим образом Изображение 174551

Информационный кадр, на котором я рисую,

         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 import Datasets как DS

df = DS.getDataSet_petrol("13-06-2018")

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

plt.show()

Очевидно, что таблица электронных таблиц показывает нелинноновые тенденции, в то время как matplotlib показывает линейный тренд.

Это смущает меня о правильной модели регрессии для использования линейных или полиномиальных регрессий.

Поэтому мой главный вопрос: как я могу сделать сюжет python похожим на таблицу?

Теги:
matplotlib
date

1 ответ

1
Лучший ответ

Кажется, проблема вызвана наличием строковых объектов в вашем df["price"].

Это можно решить, превратив его в float до его построения.

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

Или даже перед тем, как делать что-либо с данными:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню