问答中心分类: PYTHON检查变量是否为dataframe
0
匿名用户 提问 40分钟 前

当用变量调用函数f时,我想检查var是否是数据帧:

def f(var):
    if var == pd.DataFrame():
        print "do stuff"

我想解决方案可能很简单,但即使有

def f(var):
    if var.values != None:
        print "do stuff"

我不能让它像预期的那样工作。

1 Answers
0
Rutger Kassies 回答 40分钟 前

使用内置isinstance()作用

import pandas as pd

def f(var):
    if isinstance(var, pd.DataFrame):
        print("do stuff")
n1k31t4 回复 40分钟 前

您如何将其推广到用户可以使用您定义的功能,但没有使用的情况import pandas as pd,但只是import pandas? 只需执行or在这两种可能性上,还是有更复杂的东西我不知道?

pacificgilly1992 回复 40分钟 前

一个可能的解决方案是将import语句放在函数中,这样用户就不可能使用其他方法导入pandas。为了加快速度(避免为了简单的检查而导入整个panda库),您可以使用以下方法import pandas.DataFrame as panda_type然后在内部使用isinstance(var, panda_type)