Pandas:导入 excel 文件时如何指定类型


将 Excel 文件导入 pandas 时,可以使用以下基本语法来指定 DataFrame 中每一列的类型:

 df = pd. read_excel (' my_data.xlsx ',
                 dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })

dtype参数指定将 Excel 文件导入 pandas DataFrame 时每列应具有的数据类型。

以下示例展示了如何在实践中使用此语法。

示例:将 Excel 文件导入 Pandas 时指定类型

假设我们有以下名为player_data.xlsx的 Excel 文件:

如果我们使用read_excel()函数导入 Excel 文件,pandas 将尝试自动识别每一列的数据类型:

 import pandas as pd

#import Excel file
df = pd. read_excel (' player_data.xlsx ')

#view resulting DataFrame
print (df)

  team points rebound assists
0 to 24 8 5
1 B 20 12 3
2 C 15 4 7
3 D 19 4 8
4 E 32 6 8
5 F 13 7 9

#view data type of each column
print ( df.dtypes )

team object
int64 dots
rebounds int64
assists int64
dtype:object

从结果中我们可以看到DataFrame的列有以下数据类型:

  • 团队:对象
  • :int64
  • 反弹:int64
  • 助攻:int64

但是,我们可以在read_excel()函数中使用dtype参数来指定每列应具有的数据类型:

import pandas as pd

#import Excel file and specify dtypes of columns
df = pd. read_excel (' player_data.xlsx ',
                   dtype = {' team ': str , ' points ': float , ' rebounds ': int ,
                            ' assists ': float })

#view resulting DataFrame
print (df)

  team points rebound assists
0 A 24.0 8 5.0
1 B 20.0 12 3.0
2 C 15.0 4 7.0
3 D 19.0 4 8.0
4 E 32.0 6 8.0
5 F 13.0 7 9.0

#view data type of each column
print ( df.dtypes )

team object
float64 points
rebounds int32
assist float64
dtype:object

从结果中我们可以看到DataFrame的列有以下数据类型:

  • 团队:对象
  • 点数:float64
  • 反弹:int32
  • 助攻:float64

这些数据类型与我们使用dtype参数指定的数据类型相对应。

请注意,在此示例中,我们指定了 DataFrame 中每一列的类型。

但是,您可以选择仅指定特定列的类型,并让 pandas 推断其余列的类型。

注意:您可以在此处找到 pandas read_excel()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

Pandas:如何在读取 Excel 文件时跳行
Pandas:如何合并多个 Excel 工作表
Pandas:如何跨多个 Excel 工作表编写 DataFrame

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注