Python| Pandas Series.astype() 转换系列的数据类型
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas astype()
是最重要的方法之一。它用于更改系列的数据类型。当从 csv 文件制作数据框时,会导入列并自动设置数据类型,这很多时候不是它实际应该具有的。例如,工资列可以作为字符串导入,但要进行操作,我们必须将其转换为浮点数。
astype()
用于进行此类数据类型转换。
Syntax: DataFrame.astype(dtype, copy=True, errors=’raise’)
Parameters:
dtype: Data type to convert the series into. (for example str, float, int)
copy: Makes a copy of dataframe/series.
errors: Error raising on conversion to invalid data type. For example dict to string. ‘raise’ will raise the error and ‘ignore’ will pass without raising error.
Return type: Series with changed data types
要下载以下示例中使用的数据集,请单击此处。
在以下示例中,使用的数据框包含一些 NBA 球员的数据。下面附上任何操作之前的数据帧图像。
例子:
在本例中,导入数据框并在数据框上调用 .dtypes 以查看系列的数据类型。之后,使用 .astype() 方法转换了一些列,并再次查看 dtypes 以查看更改。
# importing pandas module
import pandas as pd
# reading csv file from url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# dropping null value columns to avoid errors
data.dropna(inplace = True)
# storing dtype before converting
before = data.dtypes
# converting dtypes using astype
data["Salary"]= data["Salary"].astype(int)
data["Number"]= data["Number"].astype(str)
# storing dtype after converting
after = data.dtypes
# printing to compare
print("BEFORE CONVERSION\n", before, "\n")
print("AFTER CONVERSION\n", after, "\n")
输出:
如输出图像所示,列的数据类型进行了相应的转换。