如何过滤同时具有浮点数和日期时间的列

How to filter on a column that has both float and datetime

我的数据框中有一列同时具有 datetime 值和 float 值。如何过滤掉 float 值?我尝试了以下方法:

import datetime

a = pd.DataFrame([10.0,datetime.datetime.now(),20.0])

a = a[a.dtype!=float]

这不起作用,因为 pandas 说整个列都是数据类型对象。目标是摆脱 10 和 20,只保留当前时间值。

我高度怀疑您看到的浮点数是 NaN 值。所以,我建议这样做:

a_float_free = a.dropna()

另一方面,如果我的怀疑是错误的,您可以使用

过滤掉浮点数
import datetime

a = pd.DataFrame([10.0,datetime.datetime.now(),20.0])

a_float_free = a[a[0].apply(lambda x: not isinstance(x, float))]

PS:在问题的虚拟示例中,您给出了 ints 而不是 floats。我冒昧地将它们更改为 float