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 数据类型。


相关文章