Извлечение времени из столбца данных DateTime и ежечасного графика с линейным графиком - PullRequest
0 голосов
/ 22 июня 2019

Поскольку у меня есть столбец в формате DateTime, и я хочу построить график, который будет показывать часовые интервалы времени, чтобы определить часы, в которые пользователи наиболее активны. Тем не менее, я немного запутался в том, как построить график линии морского побережья с выделенным временем и часовым интервалом по оси X. Буду очень признателен за любую помощь.

Колонка даты и времени:

 2019-06-16 09:50:32.716000
 2019-06-16 09:50:32.716001
 2019-06-16 09:50:35.374002
 2019-06-16 09:50:36.032003
 2019-06-16 06:41:09.959000
 2019-06-16 07:04:59.880000
 2019-06-16 07:05:09.925000
 2019-06-16 07:05:18.680002
 2019-06-16 07:05:18.676003
 2019-06-16 07:06:04.646004
 2019-06-16 07:06:04.646005
 2019-06-16 07:06:25.354006
 2019-06-16 07:06:25.353007
 ....
 2019-06-16 07:06:28.464008
 2019-06-16 07:06:28.464009
 2019-06-16 07:06:37.777010
 2019-06-16 07:06:37.942011
 2019-06-16 07:07:05.512012
 2019-06-16 07:07:13.342013
 2019-06-16 05:15:38.923000
 2019-06-16 05:15:45.772001
 2019-06-16 05:15:51.937000
 2019-06-16 05:15:57.064003
 2019-06-16 05:15:57.064004
 2019-06-16 05:16:07.163005
 2019-06-16 05:16:07.162006

Код пока:

sns.lineplot(data=dfdays[0]['event_timestamp'].dt.hour, color="coral", 
label="line")

1 Ответ

0 голосов
/ 23 июня 2019

После долгих поисков я нашел ответ.Может быть, это может помочь другим.

Извлечение времени из фрейма данных:

minutes=[]
hours=[]
time=[]
minutes=dfdays[0].event_timestamp.dt.minute
hours=dfdays[0].event_timestamp.dt.hour
for i in range(len(dfdays[0])):
 x=float(str(hour[i])+'.'+str(minutes[i]))
 time.append(x)

Подсчет записей из массива:

 x = np.array(time)
 unique, counts = np.unique(x, return_counts=True)

Создание с Seaborn:

sns.lineplot(unique,counts,color="coral", label="line")
plt.xlabel('Hours')
plt.ylabel('Users count')
plt.tight_layout()
plt.show()

Выход: enter image description here

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