Pandas DataFrame.astype()函数 - 将pandas对象转换为指定的dtype

Pandas DataFrame.astype()函数

DataFrame.astype()函数用于将pandas对象转换为指定的dtype。Astype()函数还提供将任何合适的现有列转换为类别类型的功能。

DataFrame.astype()函数在我们希望将特定列数据类型大小写转换为另一种数据类型时非常方便。不仅如此,我们还可以使用Python字典输入一次更改多个列类型。dictionary中的键标签对应于列名,而dictionary中的值标签对应于我们希望columns所属的新数据类型。

语法:DataFrame.astype(dtype, copy=True, errors= ‘ raise ‘, **kwargs)

参数:

dtype:使用numpy.dtype或Python类型将整个pandas对象转换为相同的类型。或者,使用{col: dtype,…},其中col是一个列标签,而dtype是一个numpy.dtype或Python类型,将一个或多个DataFrame的columns转换为特定于列的类型。

copy:当copy=True时返回一个副本(设置copy=False时要非常小心,因为更改的值可能会传播到其他pandas对象)。

errors:控制对提供的dtype的无效数据引发异常。

Raise:允许抛出异常

Ignore:抑制异常。发生错误时返回原始对象

传递给构造函数的关键字参数

返回:cast:调用者的类型

示例1

转换Weight列数据类型。

# importing pandas as pd
import pandas as pd
  
# Making data frame from the csv file
df = pd.read_csv("nba.csv")
  
# Printing the first 10 rows of 
# the data frame for visualization
  
df[:10]

Pandas DataFrame.astype()函数

由于数据有一些“nan”值,因此,为了避免任何错误,我们将删除所有包含任何nan值的行。

# drop all those rows which 
# have any 'nan' value in it.
df.dropna(inplace = True)

Pandas DataFrame.astype()函数

# let's find out the data type of Weight column
before = type(df.Weight[0])
  
# Now we will convert it into 'int64' type.
df.Weight = df.Weight.astype('int64')
  
# let's find out the data type after casting
after = type(df.Weight[0])
  
# print the value of before
before
  
# print the value of after
after

输出:

Pandas DataFrame.astype()函数

Pandas DataFrame.astype()函数

# print the data frame and see
# what it looks like after the change
df

Pandas DataFrame.astype()函数

示例2

一次更改多个列的数据类型

将Name列更改为类别类型,将Age列更改为int64类型。

# importing pandas as pd
import pandas as pd
  
# Making data frame from the csv file
df = pd.read_csv("nba.csv")
  
# Drop the rows with 'nan' values
df = df.dropna()
  
# print the existing data type of each column
df.info()

输出:

Pandas DataFrame.astype()函数

现在让我们立即更改这两个columns数据类型。

# Passed a dictionary to astype() function 
df = df.astype({"Name":'category', "Age":'int64'})
  
# Now print the data type 
# of all columns after change
df.info()

输出:

Pandas DataFrame.astype()函数

# print the data frame
# too after the change
df

输出:

Pandas DataFrame.astype()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程