Kullan isinstance, başka bir şey yok:
if isinstance(x, pd.DataFrame):
... # do something
PEP8 , isinstancetürleri kontrol etmenin tercih edilen yolu olduğunu açıkça söylüyor
No: type(x) is pd.DataFrame
No: type(x) == pd.DataFrame
Yes: isinstance(x, pd.DataFrame)
Ve aklından bile geçirme
if obj.__class__.__name__ = 'DataFrame':
expect_problems_some_day()
isinstancemirası işler (bkz. type () ve isinstance () arasındaki farklar nelerdir? ). Örneğin, bir değişkenin bir dizge olup olmadığını (ya strda unicode), çünkü türetildikleri için size söyleyecektir basestring)
if isinstance(obj, basestring):
i_am_string(obj)
Özellikle pandas DataFramenesneler için:
import pandas as pd
isinstance(var, pd.DataFrame)
var, boş bir veri çerçevesine eşittir " diyor . Gerçekten istediğiniz şey, "türünün türünevareşit olmasıpd.DataFrame". Bunu kullanarak kontrol edebilirsinizisinstance