Python Pandas: конвертировать дату в текст, например 2018-08 -> Август - PullRequest
0 голосов
/ 05 ноября 2018

Простите, если формат неверный, это мой первый пост.

Я использую Python с Pandas, и у меня есть столбец с именем «Месяц» со значениями ниже, например «2018-08» для августа 2018 года, очевидно. Я пытаюсь изменить значения «2018-08» на «Авг» или «Август».

То, что я пробовал до сих пор:

df = df.rename (index = {"2018-08": "Aug"})

Также пробовал '' вместо "", если это имело значение.

Я запустил df.dtypes и заметил, что столбцы «Месяц» - это объект, если это что-то меняет.

Кто-нибудь может помочь, как преобразовать числовые значения в строку?

Снова извиняюсь, если это выглядит как беспорядок!

привет

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вы можете использовать datetime процедуры, например, так:

datetime.datetime.strptime('2018-08', "%Y-%m").strftime('%b') # 'Aug'

или

datetime.datetime.strptime('2018-08', "%Y-%m").strftime('%B') # 'August'
0 голосов
/ 05 ноября 2018

Вы можете использовать:

df = pd.DataFrame({'Month': ['2018-09', '2000-10', '2003-01', '3098-12']})
month_conversion = {'01': 'Jan', '02': 'Feb', '03': 'Mar', '04': 'Apr', 
                    '05': 'May', '06': 'Jun', '07': 'Jul', '08': 'Aug',
                    '09': 'Sep', '10': 'Oct', '11': 'Nov', '12': 'Dec'}
df['long_month'] = df['Month'].str.split('-').str[1].map(month_conversion)

df
     Month long_month
0  2018-09        Sep
1  2000-10        Oct
2  2003-01        Jan
3  3098-12        Dec
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...