Удаление строк кадра данных панд на основе типа экземпляра - PullRequest
0 голосов
/ 01 июня 2018

В основном я пытаюсь удалить строки информационного кадра pandas, где значения в определенном столбце не являются экземплярами datetime.Я пытался:

df = df[df[‘date’] == isinstance(datetime)]

Я знаю, что isinstance принимает два аргумента (я пропускаю проверяемое значение), но я не уверен, что там поставить.

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Для эффективности вы должны преобразовать вашу серию в datetime, а затем замаскировать ненулевые значения:

df['date'] = pd.to_datetime(df['date'], errors='coerce')

df = df[df['date'].notnull()]
0 голосов
/ 01 июня 2018

С небольшим изменением аналогичного ответа , вы можете попробовать следующее:

df = df[df['date'].apply(isinstance, args=(datetime,))]
0 голосов
/ 01 июня 2018

Как сказано в документах , .isinstance принимает object в качестве первого аргумента и classinfo в качестве второго аргумента.

Правильный путь таков:

import datetime 
df.loc[df['date'].apply(lambda x: isinstance(x, datetime.datetime))]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...