У меня есть большой массив данных pandas, который представляет собой журнал идентификаторов пользователей, которые регистрируются на веб-сайте:
id datetime
130 2018-05-17 19:46:18
133 2018-05-17 20:59:57
133 2018-05-17 21:54:01
142 2018-05-17 22:49:07
114 2018-05-17 23:02:34
136 2018-05-18 06:06:48
136 2018-05-18 12:21:38
180 2018-05-18 12:49:33
.......
120 2018-05-18 14:03:58
120 2018-05-18 15:28:36
Как я могу визуализировать вышеупомянутый кадр данных pandas в виде графика временных рядов?Например, я хотел бы представить частоту входов в систему каждого человека id
в виде линии другого цвета (обратите внимание, что у меня около 400 ids
).Что-то вроде этого сюжета (*)
:
]
Я пытался:
from datetime import date
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import pandas as pd
# set your data as df
# strip only YYYY-mm-dd part from original `datetime` column
df3.timestamp = df3.datetime.apply(lambda x: str(x)[:10])
df3.timestamp = df3.datetime.apply(lambda x: date(int(x[:4]), int(x[5:7]), int(x[8:10])))
# plot
plt.figure(figsize=(150,10))
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.plot(df3.datetime[:800], df3.id[:800], '-')
plt.gcf().autofmt_xdate()
и
import matplotlib.dates as dates
df5 = df3.set_index('datetime')
df5.plot(x_compat=True)
plt.gca().xaxis.set_major_locator(dates.DayLocator())
plt.gca().xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))
plt.gca().invert_xaxis()
plt.gcf().autofmt_xdate(rotation=0, ha="center")
plt.figure(figsize=(150,10))
Однако яесть что-то вроде этого:
]
Есть идеи, как получить сюжет, похожий на (*)
?