답변:
isinstance
다른 것은 사용 하지 마십시오.
if isinstance(x, pd.DataFrame):
... # do something
PEP8 은 isinstance
유형을 확인하는 데 선호되는 방법 이라고 명시 적으로 말합니다.
No: type(x) is pd.DataFrame
No: type(x) == pd.DataFrame
Yes: isinstance(x, pd.DataFrame)
그리고 생각조차 하지마
if obj.__class__.__name__ = 'DataFrame':
expect_problems_some_day()
isinstance
상속을 처리합니다 ( type ()과 isinstance ()의 차이점 은 무엇입니까? 참조 ). 변수가 문자열 (중 하나 인 경우 예를 들어, 당신을 말할 것이다 str
나 unicode
)가에서 파생 때문에 basestring
)
if isinstance(obj, basestring):
i_am_string(obj)
특히 pandas
DataFrame
개체의 경우 :
import pandas as pd
isinstance(var, pd.DataFrame)
내장 isinstance()
기능을 사용하십시오 .
import pandas as pd
def f(var):
if isinstance(var, pd.DataFrame):
print("do stuff")
import pandas as pd
대신,하지만 import pandas
? or
두 가지 가능성 모두에 대해 수행하십시오 . 아니면 내가 모르는 더 정교한 것이 있습니까?
import pandas.DataFrame as panda_type
다음 과 같은 것을 사용한 다음 내부에서 다음을 사용하여 배열 유형을 확인할 수 있습니다.isinstance(var, panda_type)
var
is equal to an empty dataframe"이 표시됩니다. 정말로 원하는 것은 "유형이 유형과var
동일한 경우pd.DataFrame
"입니다. 당신은 그것을 사용하여 확인할 수 있습니다isinstance