Pandas数据类型转换df.astype()及数据类型查看df.dtypes的使用

  • Post category:Python

Pandas是使用Python进行数据处理和分析的重要工具之一。在数据处理的过程中,有时需要对数据进行类型转换或查看数据的类型,这时候就需要用到Pandas提供的astype()和dtypes()两个方法。

Pandas数据类型转换df.astype()

astype()用于将Pandas DataFrame的列转换为指定的数据类型。其中,可以指定的数据类型包括int,float,bool等。具体使用方法如下:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'Age': ['12', '15', '18'], 'Name': ['Tom', 'Jerry', 'Jack']})

# 查看df的数据类型
print(df.dtypes)

# 将Age列转换为int类型
df_new = df.astype({'Age': int})

# 查看df_new的数据类型
print(df_new.dtypes)

在上述示例中,我们首先创建了一个包含两列数据的DataFrame。然后使用dtypes()方法查看原始DataFrame的数据类型,发现Age列的数据类型为object。接下来,使用astype()方法将Age列中的字符型数据转换为integer型数据,并将结果存储在df_new中。最后使用dtypes()方法查看df_new的数据类型,可以发现Age列的数据类型确实被转换为了int类型。

除了将单列转换为指定类型外,astype()还支持将整个DataFrame转换为某个指定的数据类型。具体使用方法如下:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'Age': ['12', '15', '18'], 'Score': ['85.5', '98.2', '91.4']})

# 查看df的数据类型
print(df.dtypes)

# 将整个DataFrame转换为float类型
df_new = df.astype(float)

# 查看df_new的数据类型
print(df_new.dtypes)

在上述示例中,我们首先创建了一个包含两列数据的DataFrame,其中Age列是字符型数据,Score列是浮点型数据。接下来使用dtypes()方法查看df的数据类型,发现Age列的数据类型为object,Score列的数据类型为float。然后使用astype()方法将整个DataFrame转换为float类型,并将结果存储在df_new中。最后使用dtypes()方法查看df_new的数据类型,可以发现整个DataFrame的数据类型都被转换为了float类型。

数据类型查看df.dtypes

dtypes()方法用于查看Pandas DataFrame中各列的数据类型。具体使用方法如下:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'Age': [12, 15, 18], 'Score': [85.5, 98.2, 91.4], 'IsPass': [True, False, True], 'Name': ['Tom', 'Jerry', 'Jack']})

# 查看df的数据类型
print(df.dtypes)

在上述示例中,我们创建了一个包含四列数据的DataFrame,并使用dtypes()方法查看其各列数据类型,输出如下:

Age        int64
Score    float64
IsPass      bool
Name      object
dtype: object

可以看到,输出结果显示了DataFrame的各列数据类型,其中Age列和IsPass列的数据类型分别是int64和bool,Score列的数据类型是float64,Name列的数据类型是object。