回答:
isinstance
他に何も使用しない:
if isinstance(x, pd.DataFrame):
... # do something
PEP8isinstance
は、タイプをチェックするための好ましい方法であると明確に述べています
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
が空のデータフレームと等しい」と言っています。あなたが本当に欲しいのは、「の型が型var
と等しい場合pd.DataFrame
」です。あなたはそれを使用してそれをチェックすることができますisinstance