Changing multiple dataframe columns datatype using a list of columns
本问题已经有最佳答案,请猛点这里访问。
我有一个.csv文件,我正在将它输入一个数据帧(df),这个数据帧有大量的列。以下是该表的精简版本:
1 2 3 4 5 6 7 | 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 |
所有列的数据类型当前为对象。四分之一对象响应对象异常对象批准的对象保留对象
我想将一些列(不是全部)的数据类型更改为float。是否可以创建一个我想要隐藏的列列表,并使用它来更改这些特定列的数据类型?例如,要转换的列列表可能是:
1 2 3 4 5 6 7 8 9 | 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 |
我试过运行上面的操作,但并非所有请求的列都有数据类型更改。如果有人能提供帮助,我们将不胜感激。
谢谢
df.apply()方法不会更改原始数据帧,因此需要如下内容:
1 | df[Columns] = df[Columns].apply(pd.to_datetime) |