У меня есть CSV, выступающий в качестве файла журнала / дБ. Он структурирован так:
User1,Client3,Ops/Admin,19:33:46,19:33:57,178.054662,Notes,05/09/2018
User1,Client2,Ops/Admin,20:33:46,20:33:57,449.272576,Notes,05/09/2018
User1,Client3,Support Management,21:33:46,21:33:57,1073.425258,Notes,05/09/2018
User1,Client2,Support Management,22:33:46,22:33:57,290.640219,Notes,05/09/2018
User1,Client3,Ops/Admin,23:33:46,23:33:57,402.223927,Notes,05/09/2018
User1,Client1,Support Management,00:33:46,00:33:57,761.266062,Notes,05/09/2018
User1,Client1,Business Developement,01:33:46,01:33:57,1623.303656,Notes,05/09/2018
Я хочу составить линейный график, используя matplotlib.pyplot, который суммирует общую сумму col [5] для каждого клиента, для каждой даты. То есть другая линия на том же графике, где ось x - это дата (col [7]), а ось y - сумма значения для этой даты (col [5]).
Я пользуюсь пандами, это моя отправная точка:
import matplotlib.pyplot as plt
import pandas as pd
import datetime, csv
csv_file = pd.read_csv("file.csv",
names = ['USER',
'CLIENT',
'TYPE',
'START',
'END',
'DURATION',
'NOTES',
'DATE'])
Затем я попытался сделать таблицу в виде сводной таблицы:
date_pivot = csv_file.pivot_table('DURATION', index='CLIENT', columns='DATE')
или с помощью функции .groupby ():
dategroup = csv_file.groupby(['CLIENT','DATE'], as_index = False).sum()
Кажется, что обе они генерируют таблицу, которая выглядит так, как будто ее должно быть достаточно для использования.
Проблема заключается в том, что из-за отсутствия попыток (...) я не могу понять, как отобразить суммированные значения CLIENT по DATE на matplotlib.pyplot.plot () ... Вы можете помочь?
Мои единственные мысли, которые у меня есть до сих пор:
- Должен ли я каким-то образом переставить таблицы так, чтобы вместо них клиенты проходили по оси Y (/ index) и датировали вдоль оси x (/ header)?
- Требуется ли какая-либо функция определения итерации с использованием .loc ()?
Любая помощь по этому вопросу будет принята с благодарностью, поэтому спасибо заранее!