使用列列表更改多个数据框列数据类型

时间:2018-07-17 09:12:55

标签: python pandas

我有一个.csv,正在将其插入具有大量列的dataframe(df)中。下面是该表格的简化版本:

Quarter  Response   Exception   Approved   On Hold
   2017         5         4           4          7
2017 Q1         3         5           2          7
2017 Q1         2         6           8          9
2017 Q2         8         4           5          3
2017 Q2         3         8           8          2
2017 Q2         3         6           8          6

所有列的数据类型当前为对象。 四分之一对象 响应对象 异常对象 批准对象 保留对象

我想将许多列(并非全部)的数据类型更改为浮点型。是否可以创建我要隐蔽的列的列表,并使用它来更改那些特定列的数据类型?例如,要转换的列的列表可能是:

Columns = ['Response', 'Exception', 'Approved','On Hold']

df[Columns].apply(pd.to_numeric, errors = 'coerce')

Quarter   object
Response   float
Exception  float
Approved   float
On Hold    float

我已经尝试运行上面的命令,但是并非所有请求的列都有其数据类型更改。如果有人可以提供帮助,将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

df.apply()方法不会更改原始数据帧,因此您需要类似以下内容:

df[Columns] = df[Columns].apply(pd.to_datetime)