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