Since pandas 0.23.4
, pandas._libs.tslib.NaTType
is completely deprecated, so I have to use pandas.NaT
as indicated in 0.23.2
changelog,
The type import pandas.tslib.NaTType is deprecated and can be replaced by using type(pandas.NaT)
但是当我尝试下面的代码时,
from pandas import NaT
val_type = type(val)
if issubclass(val_type, NaT):
return 'NaT'
我得到一个错误,
TypeError: issubclass() arg 2 must be a class or tuple of classes
如果我尝试,
if isinstance(val_type, NaT):
return 'NaT'
我收到以下错误,
TypeError: isinstance() arg 2 must be a type or tuple of types
原文由 daiyue 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,正如弃用消息所建议的那样,您应该直接使用
type(pandas.NaT)
,而不是NaT
。因此,如果您导入了名称,则可以执行issubclass(val_type, type(pandas.NaT))
。