Конвертировать дату из float64 в формат год и месяц - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть набор дат, в котором столбец даты (только год и месяц) представляет собой число с плавающей точкой64 с месяцем, представленным в виде дроби по отношению к году (например, июнь 2012 года отображается как 2012.6).

Может ли кто-нибудь подсказать, как яможно преобразовать это, чтобы показать как формат месяца и даты (6-2012, 7-2012 и т. д.)?

Спасибо!

Я предполагаю, что решение с to_datetime, но пока у меня нетбыл в состоянии преобразовать даты должным образом

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Попробуйте:

import pandas as pd

dataframe = pd.DataFrame([[2019.1, 2018.2], [2017.3, 2018.4]], columns = ["a", "b"])

        0       1
0  2019.1  2018.2
1  2017.3  2018.4

dataframe[a] = dataframe[a].apply(lambda x: pd.to_datetime(str(x)))

dataframe[a]

0   2019-01-01
1   2017-03-01

Name: a, dtype: datetime64[ns]

Для этого применяется функция pd.to_datetime () к каждому значению в столбце, преобразованному в строковый тип.

Надеюсь, это поможет.

0 голосов
/ 23 сентября 2019

IIUC, вы можете сделать:

pd.to_datetime(pd.Series([2012.6]).astype(str), format='%Y.%m')

Вывод:

0   2012-06-01
dtype: datetime64[ns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...