无涯教程-DataFrame.astype函数

114 阅读1分钟

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

当无涯教程想将特定的列数据类型转换为另一种数据类型时,它就可以使用。还可以使用Python字典的输入来一次更改多个列类型。在字典中,键标签对应于列名,值标签对应于要在列中使用的新数据类型。

语法

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

参数

dtype      -  它使用numpy.dtype或Python类型将整个pandas对象转换为相同类型。

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
# 我们将其转换为 int64 类型。
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  # 请注意 x1[0] 也发生了变化

输出

0    12
1     2
dtype: int64

参考链接

www.learnfk.com/pandas/pand…