Python-使用类型对象查找变量的类型

时间:2017-11-21 05:16:31

标签: python python-3.x python-2.7

我有一个类似于pandas数据帧的对象,在调用它的data_type()方法时,它返回每列的数据类型字典。

dtypes = df.data_type()
dtypes
# {'Unnamed: 0': <class 'int'>, '0': <class 'str'>, '1': <class 'float'>, '2': <class 'float'>, '3': <class 'float'>, '4': <class 'float'>, '5': <class 'float'>, '6': <class 'float'>, '7': <class 'float'>, '8': <class 'float'>, '9': <class 'float'>, '10': <class 'float'>, '11': <class 'float'>, '12': <class 'float'>, '13': <class 'str'>, '14': <class 'str'>}

如您所见,此处返回的字典值类型为type

现在,我需要执行一些特定于字符串/字符列的操作,因此希望选择具有<class 'str'>的列。问题是我在这里不能使用isinstance,因为<class 'str'>的类型为<class 'type'>而且我的所有比较都返回False,因此没有列得到选择。

所以这里的问题是如何使用type函数的输出来与python数据类型(int,float,str)进行比较?

1 个答案:

答案 0 :(得分:0)

您可以专门针对字符串/字符列

执行以下操作
for col in df.columns:
    if(df[col].dtype == np.float64 or df[col].dtype == np.int64):
         ##do something
    else:
          #do for string