根据实例类型

时间:2018-06-01 15:22:23

标签: python pandas datetime

基本上我试图删除pandas数据帧的行,其中某列中的值不是datetime的实例。我试过了:

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

我知道isinstance需要两个参数(我错过了要检查的值),但我不确定要放在那里。

2 个答案:

答案 0 :(得分:1)

正如docs所说,.isinstanceobject作为第一个参数,classinfo作为第二个参数。

正确的方法如下:

import datetime 
df.loc[df['date'].apply(lambda x: isinstance(x, datetime.datetime))]

答案 1 :(得分:1)

为了提高效率,您应该将系列转换为datetime,然后屏蔽非空值:

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

df = df[df['date'].notnull()]