如何将 CSV 文件读取到 Pandas DataFrame 中

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本教程中,我们将探讨如何在Python中将CSV文件读取到Pandas DataFrame中。Pandas是一个广泛使用的数据分析库,它提供了一种方便且高效的方式来处理结构化数据。在本指南结束时,你将能够将CSV数据导入到Pandas中,并开始探索和分析其中包含的信息。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/FileHandlingGroup -.-> python/file_opening_closing("Opening and Closing Files") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/file_operations("File Operations") python/FileHandlingGroup -.-> python/with_statement("Using with Statement") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") subgraph Lab Skills python/file_opening_closing -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} python/file_reading_writing -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} python/file_operations -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} python/with_statement -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} python/data_collections -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} python/data_serialization -.-> lab-395092{{"如何将 CSV 文件读取到 Pandas DataFrame 中"}} end

CSV 文件与 Pandas 简介

CSV(逗号分隔值)是一种简单且广泛使用的文件格式,用于存储和交换表格数据。它以纯文本格式表示数据,其中每行代表一行,每行中的值由逗号(或其他分隔符)分隔。

Pandas 是一个强大的开源 Python 库,用于数据处理和分析。它提供了高性能、易于使用的数据结构和数据分析工具,使其成为处理 CSV 文件的热门选择。

什么是 CSV 文件?

CSV 文件是一种存储表格数据的纯文本文件类型。文件中的每行代表一行数据,每行中的值由分隔符分隔,通常是逗号(,)。文件的第一行通常包含列标题,用于描述每列中的数据。

为什么使用 Pandas 处理 CSV 文件?

Pandas 提供了一种在 Python 中读取和处理 CSV 文件的便捷方式。pd.read_csv() 函数允许你将 CSV 文件加载到 Pandas DataFrame 中,这是一种强大的数据结构,便于对数据进行操作和分析。

使用 Pandas 处理 CSV 文件的一些主要优点包括:

  • 轻松的数据操作:Pandas DataFrame 提供了广泛的函数和方法,用于过滤、排序、分组和转换数据。
  • 高效的数据存储:Pandas DataFrame 可以高效地存储和处理大型数据集,使其成为处理包含大量数据的 CSV 文件的理想选择。
  • 与其他库的兼容性:Pandas 与其他流行的 Python 库(如 NumPy、Matplotlib 和 Scikit-learn)集成良好,使你能够执行高级数据分析和可视化任务。
import pandas as pd

## 将 CSV 文件读取到 Pandas DataFrame 中
df = pd.read_csv('data.csv')

## 显示 DataFrame 的前几行
print(df.head())

在本教程结束时,你将学习如何将 CSV 文件读取到 Pandas DataFrame 中,探索数据,并执行基本的数据操作任务。

使用 Pandas 读取 CSV 文件

基本的 CSV 文件读取

将 CSV 文件读取到 Pandas DataFrame 中的最基本方法是使用 pd.read_csv() 函数。以下是一个示例:

import pandas as pd

## 将 CSV 文件读取到 DataFrame 中
df = pd.read_csv('data.csv')

## 显示 DataFrame 的前几行
print(df.head())

在这个示例中,pd.read_csv() 读取名为 'data.csv' 的 CSV 文件,并返回一个名为 df 的 Pandas DataFrame。

自定义 CSV 读取器

Pandas 提供了几个可选参数来自定义 CSV 读取器,例如:

  • delimiter:指定用于分隔 CSV 文件中值的字符(默认是逗号)。
  • header:指定用作列名的行号(默认是 0,即第一行)。
  • index_col:指定用作 DataFrame 索引的列。
  • na_values:指定要视为缺失值(NaN)的一组值。

以下是自定义 CSV 读取器的一个示例:

## 读取一个使用分号作为分隔符且跳过第一行作为标题的 CSV 文件
df = pd.read_csv('data.csv', delimiter=';', header=1)

## 显示 DataFrame 的前几行
print(df.head())

处理缺失数据

CSV 文件可能包含缺失值,Pandas 将其表示为 NaN(非数字)。你可以通过多种方式处理缺失数据,例如:

  • 删除包含缺失数据的行或列:df.dropna()
  • 用特定值填充缺失值:df.fillna(value=0)
  • 插值填充缺失值:df.interpolate()
## 用每列的均值填充缺失值
df = df.fillna(df.mean())

在本节结束时,你应该很好地理解了如何将 CSV 文件读取到 Pandas DataFrame 中,以及如何自定义 CSV 读取器和处理缺失数据。

探索 Pandas 中的 CSV 数据

将 CSV 文件读取到 Pandas DataFrame 后,你可以通过多种方式探索数据,以获取见解并为进一步分析做准备。

检查 DataFrame

Pandas 提供了几种方法来快速检查 DataFrame 的结构和内容:

  • df.head():显示 DataFrame 的前几行。
  • df.tail():显示 DataFrame 的最后几行。
  • df.info():显示有关 DataFrame 的信息,包括数据类型和内存使用情况。
  • df.describe():为 DataFrame 中的数值列生成描述性统计信息。
## 检查 DataFrame 的前几行
print(df.head())

## 显示有关 DataFrame 的信息
print(df.info())

## 生成描述性统计信息
print(df.describe())

访问和操作数据

Pandas DataFrame 提供了广泛的方法和属性来访问和操作数据:

  • df['column_name']:访问 DataFrame 的特定列。
  • df.loc[row_label, column_label]:通过标签(行名和列名)访问数据。
  • df.iloc[row_index, column_index]:通过基于整数的索引(行索引和列索引)访问数据。
  • df['new_column'] = value:创建新列或修改现有列。
## 访问特定列
print(df['age'])

## 通过标签访问数据
print(df.loc[0, 'name'])

## 通过基于整数的索引访问数据
print(df.iloc[0, 0])

## 创建新列
df['is_adult'] = df['age'] >= 18

过滤和排序数据

Pandas 提供了强大的过滤和排序功能:

  • df[condition]:根据布尔条件过滤 DataFrame。
  • df.sort_values(by='column_name'):按一个或多个列对 DataFrame 进行排序。
## 过滤 DataFrame 以仅包括成年用户
adult_users = df[df['age'] >= 18]
print(adult_users)

## 按年龄升序对 DataFrame 进行排序
sorted_df = df.sort_values(by='age')
print(sorted_df)

在本节结束时,你应该很好地理解了如何探索和操作存储在 Pandas DataFrame 中的 CSV 数据。

总结

本Python教程展示了将CSV文件读取到Pandas DataFrame中的过程。你已经学习了如何使用Pandas加载CSV数据,以及如何与生成的DataFrame进行交互,以便从数据中获得有价值的见解。有了这些技能,你现在可以自信地处理CSV文件,并利用Pandas的强大功能满足你的数据分析和处理需求。