преобразовать ммм гггг в гггг-мм в python3 - PullRequest
0 голосов
/ 26 февраля 2020

преобразовать МММ гггг в гггг-мм в python3

, поэтому для даты-панды с dd ммм гггг, например

01 Feb 1985

Может быть преобразовано в гггг-мм-дд с следующий код

df[["date"]] = df[["date"]].apply(pd.to_datetime)

вывод:

1985-02-01

Но если у меня МММ гггг, как

Feb 1985

, и я хотел бы вывести как

1985-02

Как я могу это сделать?

df[["date"]] = df[["date"]].apply(pd.to_datetime)

выведет дату, которую я не хочу

1985-02-01 

Есть мысли?

Спасибо за некоторые комментарии. Я только что понял, что в кадре данных есть NaN, который я не могу отбросить. Так что я пытаюсь сделать функцию, чтобы захватить NaN, но результат все еще похож на 1985-02-01. Есть мысли?

def date2int(df):

    for index, row in df.iteritems():

        try:
            t1=row.strftime('%b-%Y')
            return t1
        except ValueError:
            return None

date2int(df["date2"])

1 Ответ

0 голосов
/ 26 февраля 2020

нормально после полуторачасового усилия:

df['date2'] = df['date2'].loc[df['date2'].notnull()].apply(lambda x: x.strftime('%Y-%m'))

возвращает желаемый результат и избегает NaN, чтобы выдавать сообщения об ошибках

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