График даты и времени от PyMongo -> Панды в матплотлибе - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь поместить базу данных MongoDB, которую я импортировал с помощью PyMongo, в фрейм данных pandas, а затем нанести ее на график с помощью столбца «date» типа datetime64 с помощью matplotlib.Тем не менее, я получаю случайно связанные даты.Кто-нибудь знает, как я мог решить эту проблему?

enter image description here

1 Ответ

0 голосов
/ 16 сентября 2018

Столбец date выглядит несортированным.Для воспроизведения рассмотрим, например,

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.rand(15,5), columns=list("ABCDE"))
a = np.arange("2018-05-05", "2018-05-20", dtype="datetime64[D]")
np.random.shuffle(a)
df["date"] = a

plt.plot("date", "C", data=df)
plt.show()

enter image description here

Если мы отсортируем кадр данных по столбцу date сейчас,

df.sort_values(by="date", inplace=True)

результат выглядит намного приятнее.

enter image description here


Тангенциальное замечание: я бы рекомендовал выбрать один стиль, либо

plt.plot("date", "C", data=df)

или

plt.plot(df["date"], df["C"])

и не смешивайте их, указав аргумент x в качестве Series и строку y в качестве строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...