Python Pandas Series.astype()转换系列的数据类型
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas astype()是最重要的方法之一。它是用来改变一个系列的数据类型的。当数据框架从csv文件中生成时,列被导入,数据类型被自动设置,但很多时候并不是它实际应该有的类型。例如,一个工资列可以被导入为字符串,但为了进行操作,我们必须将其转换为浮点数。
astype()是用来做这种数据类型转换的。
语法: DataFrame.astype(dtype, copy=True, errors=’raise’)
参数:
dtype: 将系列转换为的数据类型。(例如str, float, int)
copy: 制作一个数据框架/系列的副本。
errors: 转换到无效的数据类型时产生错误。例如,将dict转换成字符串。’raise’将引发错误,’ignore’将通过而不引发错误。
返回类型:改变数据类型的系列
在下面的例子中,所使用的数据框包含一些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")
输出:
如输出图像所示,列的数据类型被相应转换。