astype() 方法通常用于将 pandas 对象转换为指定的 dtype.astype() 函数。它还可以将任何合适的现有列转换为分类类型。

当我们希望将特定列的数据类型转换为另一种数据类型时,就会用到它。我们还可以使用 Python 字典的输入一次更改多个列类型。在字典中,键标签对应于列名,而值标签对应于我们希望在列中的新数据类型。

语法

DataFrame.astype(dtype, copy=True, errors='raise', **kwargs)  

参数

dtype: 它使用 numpy.dtype 或 Python 类型来将整个 pandas 对象转换为相同的类型。也可以使用 {col: dtype, ?},其中 col 指的是列标签,dtype 是用于将一个或多个 DataFrame 列转换为特定列类型的 numpy.dtype 或 Python 类型。

copy: 如果 copy=True,则返回一个副本。当设置 copy=False 时要小心,因为对值的更改可能传播到其他 pandas 对象。

errors: 对于提供的 dtype,它控制无效数据的异常情况。

  • raise: 允许引发异常。
  • ignore: 忽略异常。在错误时返回原始对象。

kwargs: 这是要传递给构造函数的关键字参数。

返回值

casted: 返回与调用者相同的类型。

示例

import pandas as pd  
a = {'col1': [1, 2], 'col2': [3, 4]}  
info = pd.DataFrame(data=a)  
info.dtypes  
# We convert it into 'int64' type.  
info.astype('int64').dtypes  
info.astype({'col1': 'int64'}).dtypes  
x = pd.Series([1, 2], dtype='int64')  
x.astype('category')  
cat_dtype = pd.api.types.CategoricalDtype(  
categories=[2, 1], ordered=True)  
x.astype(cat_dtype)  
x1 = pd.Series([1,2])  
x2 = x1.astype('int64', copy=False)  
x2[0] = 10  
x1  # note that x1[0] has changed too  

输出

0    12
1     2
dtype: int64

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档