Форматирование месяцев, основанное на годах, присутствующих в предыдущем ряду данных Python - PullRequest
0 голосов
/ 15 мая 2018

Что касается ниже, есть ли способ отформатировать месяцы до декабря как «DEC-2017», основываясь на значении индекса 0 и месяцы после декабря как «JAN-2018»? Я использую Python 2.7.

import pandas as pd
df = pd.DataFrame([['2017-18','','','','','','','','','','',''], ['APR', 'MAY', 'JUN', 'JULY', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC', 'JAN', 'FEB', 'MAR']])

вывод должен выглядеть так:

df1 = pd.DataFrame([['2017-18','','','','','','','','','','',''], ['APR-2017', 'MAY-2017', 'JUN-2017', 'JULY-2017', 'AUG-2017', 'SEP-2017', 'OCT-2017', 'NOV-2017', 'DEC-2017', 'JAN-2018', 'FEB-2018', 'MAR-2018']])

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

1 Ответ

0 голосов
/ 15 мая 2018

cumsum + iloc

df.iloc[1] += '-' + (df.iloc[1].eq('JAN').cumsum() + 2017).astype(str)

df
         0         1         2          3         4         5         6   \
0   2017-18                                                                
1  APR-2017  MAY-2017  JUN-2017  JULY-2017  AUG-2017  SEP-2017  OCT-2017   

         7         8         9         10        11  
0                                                    
1  NOV-2017  DEC-2017  JAN-2018  FEB-2018  MAR-2018  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...