pandas 系列 astype() 方法如何工作?
pandasserver side programmingprogramming更新于 2025/5/18 6:07:17
在 pandas 系列中,astype() 方法用于转换 pandas 系列对象的数据类型。而 astype() 方法会返回一个转换后的数据类型的 series 对象。
使用 pandas.Series 中的 astype() 方法,我们可以将 series 对象的数据类型转换为指定的数据类型,为此,我们需要将 numpy.dtype 或 Python 类型作为参数传递给 astype() 方法。
示例 1
# 导入所需包
import pandas as pd
# 创建 pandas Series 对象
series = pd.Series([1,2,4,3,1,2])
print(series)
result = series.astype('category')
print("Output: ",result)
解释
在此示例中,我们初始化了一个 pandas series 对象使用整数值列表。之后,我们应用带有参数值"category"的 astype() 方法。
输出
0 1 1 2 2 4 3 3 4 1 5 2 dtype: int64 Output: 0 1 1 2 2 4 3 3 4 1 5 2 dtype: category Categories (4, int64): [1, 2, 3, 4]
在此输出块中,我们可以看到数据类型为 int64 的初始系列对象以及具有转换数据类型的 astype() 方法的输出。结果系列对象的数据类型为类别。生成的系列对象中有 4 个分类值。
示例 2
# 导入所需包
import pandas as pd
import numpy as np
# 创建 pandas 系列对象
series = pd.Series(np.random.randint(1,20,5))
print(series)
# 更改 astype
result = series.astype('float64')
print("Output: ",result)
解释
创建另一个 pandas 系列对象,其随机整数值范围为 1,20,5。此处的目标是将原始系列对象的数据类型转换为“float64”类型,以便将 astype() 方法应用于带有“float64”参数的系列对象。
输出
0 15 1 2 2 10 3 1 4 15 dtype: int32 Output: 0 15.0 1 2.0 2 10.0 3 1.0 4 15.0 dtype: float64
对于原始系列对象,dtype 为"int32",而转换后的系列对象具有 float64 数据类型。

