当使用变量调用我的函数 f 时,我想检查 var 是否是 pandas 数据帧:
def f(var):
if var == pd.DataFrame():
print "do stuff"
我想解决方案可能很简单,但即使
def f(var):
if var.values != None:
print "do stuff"
我无法让它按预期工作。
原文由 trbck 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
isinstance
,没有别的:PEP8 明确指出
isinstance
是检查类型的首选方式想都别想
isinstance
处理继承(请参阅 type() 和 isinstance() 之间有什么区别? )。例如,它会告诉您变量是否为字符串(str
或unicode
),因为它们派生自basestring
)专门针对
pandas
DataFrame
对象: