基本上我试图删除pandas数据帧的行,其中某列中的值不是datetime的实例。我试过了:
df = df[df[‘date’] == isinstance(datetime)]
我知道isinstance需要两个参数(我错过了要检查的值),但我不确定要放在那里。
答案 0 :(得分:1)
正如docs所说,.isinstance
将object
作为第一个参数,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()]