更新时间:2022年11月01日09时41分 来源:传智教育 浏览次数:
在Python中,通过astype()方法可以强制转换数据的类型,其语法格式如下:
astype( dtype, copy=True, errors ='raise', ** kwargs)
上述方法中部分参数表示的含义如下:
(1)dtype:表示数据的类型。
(2)copy:是否建立副本,默认为True。
(3)errors:错误采取的处理方式,可以取值为raise或ignore,默认为raise。其中,raise表示允许引发异常,ignore表示抑制异常。
接下来,通过一个示例来演示如何通过astype()方法来强制转换数据的类型。
首先,创建一个DataFrame对象,并且使用dtypes属性查看数据的类型,具体代码如下。
In [21]: import pandas as pd df=pd.DataFrame({'A': ['1', '1.2', '4.2'], 'B': ['-9', '70', '88'], 'C': ['x', '5.0', '0']}) df.dtypes Out[21]: A object B object C object dtype: object
从输出结果看出,所有数据的类型均为object。
然后,将B列数据的类型转换为int类型,实现对指定列的数据进行类型转换,示例代码如下:
In [22]: df['B'].astype(dtype='int') # 强制转换为int类型 Out[22]: 0 -9 1 70 2 88 Name: B, dtype:int32
需要注意的是,这里并没有将所有列进行类型转换,主要是因为C列中有非数字类型的字符,无法将其转换为int类型,若强制转换会出现ValueError异常。