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


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

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

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

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

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

假设我们有以下名为篮球数据.csv的 CSV 文件:

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

 import pandas as pd

#import CSV file
df = pd. read_csv (' basketball_data.csv ')

#view resulting DataFrame
print (df)

   At 22 10
0 B 14 9
1 C 29 6
2 D 30 2
3 E 22 9
4 F 31 10

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

team object
int64 dots
rebounds int64
dtype:object

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

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

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

import pandas as pd

#import CSV file and specify dtype of each column
df = pd. read_csv (' basketball_data.csv ',
                 dtype = {' team ': str , ' points ': float , ' rebounds ': int }))

#view resulting DataFrame
print (df)

   At 22 10
0 B 14 9
1 C 29 6
2 D 30 2
3 E 22 9
4 F 31 10

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

team object
float64 points
rebounds int32
dtype:object

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

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

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

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

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

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

其他资源

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

Pandas:如何在读取 CSV 文件时跳行
Pandas:如何将数据添加到现有 CSV 文件
Pandas:如何读取没有标题的 CSV 文件
Pandas:导入 CSV 文件时如何设置列名称

添加评论

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