Построение DataFrame (который имеет индекс даты) в виде гистограммы - PullRequest
0 голосов
/ 03 июня 2018

Я совершенно новичок в этой области, и почти все для меня все еще остается загадкой.

У меня есть следующий фрейм данных:

            usersPerWeek date
      date      
2018-03-07  127          2018-03-07
2018-03-14  3177         2018-03-14
2018-03-21  8758         2018-03-21
2018-03-28  16770        2018-03-28
2018-04-04  17964        2018-04-04

И я пытаюсь представить это какпростая гистограмма:

import pandas as pd
import matplotlib.pyplot as plt
figPerWeek = plt.figure(dpi=80, figsize=(8,1))
axis = figPerWeek.add_subplot(1,1,1)
axis.bar(x=data.index, height=data.usersPerWeek)

Это приводит к сообщению об ошибке Axis must have freq set to convert to Periods

Когда я добавляю (непосредственно перед вызовом axis.bar)

axis.xaxis_date()

Затем я получаю сообщение об ошибке 'Period' object has no attribute 'toordinal'.

Я надеюсь, что мне не хватает чего-то очень простого, но пока Google был менее чем полезен.

Ура

1 Ответ

0 голосов
/ 03 июня 2018

Кажется, что работает в приведенном ниже примере.

from numpy.random import randint
import pandas as pd
import matplotlib.pyplot as plt

# Create data frames for the example
rng = pd.date_range('3/7/2018 00:00', periods=10, freq='1w')
df = pd.DataFrame({'usersPerWeek': randint(10, 200, 10)}, index=rng)

figPerWeek = plt.figure(dpi=80, figsize=(8,1))
axis = figPerWeek.add_subplot(1,1,1)
axis.bar(x=df.index, height=df.usersPerWeek)
plt.ylabel('usersPerWeek')
plt.show()

enter image description here

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