Как отсортировать мои данные по месяцам? Я хочу, чтобы мой месячный заказ был с апреля по апрель (это финансовый год) - PullRequest
2 голосов
/ 13 мая 2019

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

Вот как выглядит фрейм данных.

Month_name       CASH/TPA   Total

April            CASH       2184074.0

August           CASH       1780238.0

December         CASH       1176889.0

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Использовать упорядоченные категориалы с порядком, определенным в параметре categories:

months = ['April','May','June','July','August',
          'September','October','November',
          'December','January','February','March']

df['Month_name'] = pd.CategoricalIndex(df['Month_name'], ordered=True, categories=months)

При необходимости сортировка по Month_name:

df1 = df.sort_values('Month_name')

Или по обоим столбцам:

df2 = df.sort_values(['CASH/TPA', 'Month_name'])

Или, если необходимо, Поворот :

df3 = df.pivot('Month_name','CASH/TPA','Total')
0 голосов
/ 13 мая 2019
df['Month_name']=pd.to_datetime(df.Month_name, format='%B', errors='coerce').dt.month.map("{:02}".format)

  Month_name CASH/TPA      Total
0      April     CASH  2184074.0
1     August     CASH  1780238.0
2   December     CASH  1176889.0
  Month_name CASH/TPA      Total
0         04     CASH  2184074.0
1         08     CASH  1780238.0
2         12     CASH  1176889.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...