Pandas 如何使用系列的astype()方法
在pandas系列中,astype()方法用于转换pandas系列对象的数据类型。astype()方法将返回一个具有转换后数据类型的系列对象。
使用pandas.Series的astype()方法,我们可以将系列对象的数据类型转换为指定的数据类型,为此,我们需要将numpy.dtype或Python类型作为参数发送给astype()方法。
示例1
# importing required packages
import pandas as pd
# create a pandas Series object
series = pd.Series([1,2,4,3,1,2])
print(series)
result = series.astype('category')
print("Output: ",result)
解释
在这个示例中,我们用一个整数值列表初始化了一个pandas系列对象。然后,我们使用astype()方法并传入参数值“category”。
输出
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]
在这个输出块中,我们可以看到初始的series对象,其数据类型为int64,以及astype()方法的输出,其中包含转换后的数据类型。结果series对象的数据类型是分类的。结果series对象中有4个可用的分类值。
示例2
# importing required packages
import pandas as pd
import numpy as np
# creating pandas Series object
series = pd.Series(np.random.randint(1,20,5))
print(series)
# change the astype
result = series.astype('float64')
print("Output: ",result)
解释
使用范围为1到20,步长为5的随机整数值创建另一个pandas系列对象。这里的目标是将原始系列对象的数据类型转换为“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
对于原始的Series对象,其dtype为“int32”,而转换后的Series对象具有float64类型的数据。