如何在python中将对象/分类数据类型的多列pandas dataframe转换为int64?

时间:2016-02-20 01:59:28

标签: python pandas types

我知道如何在pyton中将一列转换为一列,但我有很多col与int64或object数据类型混合。

在R中,我可以通过test is.factor找到这些col索引,然后我可以在for循环中应用as.numeric进行转换。

但我不知道如何用Python做。请帮忙。

如果在其他图书馆中有某种方法,例如numpy,scipy,它也会很棒。

感谢

1 个答案:

答案 0 :(得分:0)

就像使用R一样,您可以使用简单的for循环来转换列数据类型。首先,我们检查列是否是对象数据类型。如果是为什么尝试转换列。我们使用try语句,因为该列可能无法转换为整数数据类型。

for c in df.columns:
  if df[c].dtype == 'O':
    try:
        df[c] = df[c].astype('int')
    except:
        print('Column',' ',c,' cannot be converted to int.')