проверьте, является ли dataframe типами boolean type pandas

У меня есть pandas DataFrame, как показано ниже:

In [108]: df1 Out[108]: v t 2014-02-21 10:30:43 False 2014-02-21 10:31:34 False 2014-02-21 10:32:25 False 2014-02-21 10:33:17 False 2014-02-21 10:34:09 False 2014-02-21 10:35:00 False 2014-02-21 10:35:51 False 

Мне нужно проверить, является ли dtype этого dtype данных bool . Я попробовал:

 In [109]: print isinstance(df1, bool) False 

** Он должен вернуться ** True ****

Как я могу это сделать?

Ссылка: проверьте, является ли переменная dataframe

Вы можете распечатать dtypes столбцов:

 In [2]: import pandas as pd df = pd.DataFrame({'a':[True,False,False]}) df Out[2]: a 0 True 1 False 2 False [3 rows x 1 columns] In [3]: df.dtypes Out[3]: a bool dtype: object In [4]: df.a.dtypes Out[4]: dtype('bool') 

Поэтому в вашем случае df1.v.dtypes должен печатать тот же вывод, что и выше

Другое дело отметить, что isinstance(df, bool) не будет работать, поскольку это isinstance(df, bool) pandas или более точно:

 In [7]: type(df) Out[7]: pandas.core.frame.DataFrame 

Важно отметить, что dtypes на самом деле numpy.dtype вы можете сделать это, чтобы сравнить имя типа со строкой, но я думаю, что isinstance яснее и предпочтительнее, на мой взгляд:

 In [13]: df.a.dtypes.name == 'bool' Out[13]: True