Как нарисовать линейный график только из даты и времени - PullRequest
0 голосов
/ 23 октября 2018

Есть CSV с только датой и временем доступа, как показано ниже

2018-09-01 13:23:14 UTC
2018-09-01 13:23:29 UTC
2018-09-01 13:23:32 UTC
2018-09-01 13:23:34 UTC
...
2018-10-21 20:04:16 UTC
2018-10-21 20:04:18 UTC
2018-10-21 20:04:20 UTC
2018-10-21 20:04:21 UTC
2018-10-21 20:04:24 UTC
2018-10-21 20:04:26 UTC
2018-10-21 20:04:27 UTC

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

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

with open('./access.csv', 'r', encoding='utf-8-sig') as f:
    i = 0
    header = next(f)
    time = []
    count = []
    for row in f:
        time.append(row)
        count.append(1)

    df = pd.DataFrame({
        'time': pd.to_datetime(time),
        'count': count
    })
    df = df.set_index('time')

    plt.show()

Как это может работать?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете загрузить CSV в виде серии панд следующим образом:

df = pd.read_csv('./access.csv')

Оттуда вы можете повернуть значения до даты и времени, а затем отобразить значения минут в виде линейного графика с помощью matplotlib:

df = pd.to_datetime(df)
min_counts = df.dt.minute.value_counts()
plt.plot(min_counts.index, min_counts)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...