有时需要修改 pandas DataFrame 的某一列的数据类型

假设,有整型数组 temp_array1 和浮点数数组 temp_array2,希望转换为两列的pandas DataFrame对象,第一列仍是整型,第二列仍是浮点型

可直接使用定义:

当列数较多时,对每列进行定义不划算,使用 np.column_stack 对列拼接后,再转换为pandas DataFrame对象

但 np.column_stack 拼接后整型被自动转换为浮点数,需对第一列数据类型进行修改

需要指定单列的数据类型时可有如下方法:

(1)直接对列赋值

(2)pandas.to_numeric() 方法

pandas.to_numeric(arg, errors='raise', downcast=None)

将参数arg转为numpy数值类型

arg:需要被转换的参数;

errors:默认'raise',处理错误的方式,可选{‘ignore’, ‘raise’, ‘coerce’};‘ignore’:无效的转换将返回输入;‘raise’:无效的转换将引发异常;‘coerce’:无效的转换将设为NaN;

downcast:默认None,可选{‘integer’, ‘signed’, ‘unsigned’, ‘float’};如果不是None,并且数据已成功转换为数字数据类型,则根据一定规则将结果数据向下转换为可能的最小数字数据类型;‘integer’ 或 ‘signed’: 最小的有符号整型(numpy.int8);‘unsigned’: 最小的无符号整型(numpy.uint8);‘float’: 最小的浮点型(numpy.float32);

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐