Как преобразовать строку в дату и пропустить запись, если ноль? - PullRequest
0 голосов
/ 11 июля 2019

Я попробовал две строки кода ниже и обе сгенерировали одну и ту же ошибку.

df['MATURITY'] = df['MATURITY'].astype('datetime64[ns]')
df['MATURITY'] = pd.to_datetime(df['MATURITY'])

Ошибка: ValueError: ('String does not contain a date:', ' ')

У меня есть несколько записей в этом столбце, которые являются пустыми, и я преобразовал их в 0, используя это: df = df.fillna(0)

Теперь, я думаю, эти нули вызывают ошибку, о которой я упоминал выше. Есть ли способ пропустить эти записи с 0 в этом конкретном поле и преобразовать все ненулевые в даты. Все эти даты сейчас являются строками. Благодаря.

1 Ответ

0 голосов
/ 11 июля 2019

Похоже, что функция pandas to_datetime принимает аргумент errors, который позволяет ей по-разному реагировать на неверное форматирование даты.По умолчанию возникает ошибка, но ее также можно установить на 'ignore', которая будет возвращать ввод в случае неправильного ввода, например 0. Попробуйте это:

pd.to_datetime(df['MATURITY'], errors='coerce')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...