Pandas / MLP :: участок 36 месяцев вместо 12 только на 3 года - PullRequest
0 голосов
/ 09 февраля 2019

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

1) вместо того, чтобы видеть только 12месяцы из 3-х лет (df.PublishedAtUtc.dt.month) или просмотр очень надежного графика на основе года (df.PublishedAtUtc.dt.year), как я могу увидеть 36 или любой другой месячный период (я пробовал разные параметры без удачи)

https://i.imgur.com/beiO8w2.png

sums = df.groupby(['Company Name', df.Datetime.dt.month])['PaidTotal'].sum().reset_index(level=0)
for company in sums['Company Name'].unique():
sums[sums['Company Name'] == company]['PaidTotal'].plot();

Только для выборки данных - в оригинале тысячи строк:

Company Name    PaidTotal   Datetime
585 CompanyA    218916.0    2016-10-14 10:51:07
586 CompanyB    430000.0    2016-01-23 11:05:08
591 CompanyB    546217.0    2016-09-26 14:20:00
592 CompanyC    73780.0     2016-12-07 07:52:01
593 CompanyA    132720.0    2017-10-04 16:14:10
595 CompanyC    52065.0     2017-11-12 14:32:40
585 CompanyA    234566.0    2017-10-14 10:51:07
586 CompanyB    252325.0    2017-01-23 11:05:08
591 CompanyB    546217.0    2018-09-26 14:20:00
592 CompanyC    745780.0    2018-12-07 07:52:01
593 CompanyA    1322320.0   2018-10-04 16:14:10
595 CompanyC    5432065.0   2018-11-12 14:32:40

1 Ответ

0 голосов
/ 12 февраля 2019

Похоже, вы используете объект Datetime для хранения дат, поэтому вы можете использовать функцию plt.plot_date() Matplotlib, задокументированную здесь , для решения вашей проблемы.

Эта функция предполагает, что вы сохраняете дату / время как объекты Datetime.Таким образом, вы должны указать это, передав xdate=True (см. Код ниже).

Чтобы построить любой диапазон объектов Datetime datetimes с их оплаченными итогами totals, используйте что-то вроде этого:

plt.plot_date(dates,totals,xdate=True)
plt.xlabel('date')
plt.ylabel('totals')

Это должно дать вам то, что вы ищете, что-то вроде этого, используя ваши данные выборки:

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