Logo
Section 1 / 5

逗号分隔文件

本课程聚焦于CSV格式文件,全面讲解如何使用Python的Pandas库读取CSV文件中的数据。

导入

逗号分隔文件

本课程聚焦于CSV格式文件,全面讲解如何使用Python的Pandas库读取CSV文件中的数据。

CSV文件简介

逗号分隔值文件(CSV)在机器学习中非常常见。这类文件每行代表一条数据记录,每行是一个由逗号分隔的列表,其中每个元素对应一个列。Pandas 提供了便捷的方法来读取此类数据。

使用 Pandas 读取 CSV 文件

相关文档可参考 这里。在读取 CSV 文件之前,有三个关键参数需要了解:

  • sep - 默认使用逗号作为分隔符,但可以根据需要指定其他字符。例如,当某些列本身包含逗号时,使用逗号分隔可能不理想,此时可以改用 | 等符号。
  • header - 指定哪一行(如果有)包含列名。
  • names - 自定义列名。

如果您的 CSV 文件格式良好,且第一行是列名,则使用默认参数即可顺利读取。

需要注意的是,虽然看似简单,但手动读取 CSV 文件往往面临诸多挑战,因为实际数据常常杂乱无章。而 Pandas 内置了对多种边缘情况的处理能力,并提供了丰富的参数选项,能够轻松应对格式混乱的 CSV 文件。

下面我们通过代码示例来演示具体操作。

1import pandas as pd 2 3# 定义列名列表 4names = ['age', 'workclass', 'fnlwgt', 'education', 'educationnum', 'maritalstatus', 'occupation', 'relationship', 'race', 5 'sex', 'capitalgain', 'capitalloss', 'hoursperweek', 'nativecountry', 'label'] 6# 使用自定义列名读取 CSV 文件 7df = pd.read_csv("adult.data", header=None, names=names) 8 9print(df.head())

我们来逐步解析这段代码。首先,该 CSV 数据来自这个页面:http://archive.ics.uci.edu/ml/datasets/Adult。

访问该页面后,点击 Data Folder,然后选择 adult.data 文件进行下载。下载完成后,用 Excel 或任意文本编辑器打开,可以看到每行数据由逗号分隔的多个字段组成。

你会发现这个 CSV 文件没有列名。幸运的是,我们知道这些列应有的名称,并已在代码第2行中将它们定义为 names 列表。由于 Pandas 默认认为第一行是表头(即列名),因此我们在第7行设置了 header=None,以确保第一行被当作普通数据读入。

最终,数据被加载到一个 Pandas DataFrame 中。

Pandas DataFrame 类似于一个二维数据矩阵,但具有更多优势(通常以性能为代价)。例如,它支持命名的行和列,并允许每列存储不同类型的数据。比如一列可以是整数,另一列可以是字符串。

你可以将 DataFrame 想象成一张 Excel 表格。例如,如果你有一张表格包含日期列和对应日期的温度数据,就可以很容易地用 DataFrame 来表示。

通过调用 DataFrame 的 head() 方法,我们可以查看前5行数据。在接下来的“描述数据”部分,我们将深入探讨如何更有效地使用 DataFrame。

接下来,我们来看看如何读取 JSON 文件。

Python 基础入门(数据分析方向)

JSON 文件