一种二维表格型数据结构,类似于电子表格(如 Excel)或 SQL 表,由行(记录)和列(字段)组成。它是数据分析、机器学习和科学计算中最常用的数据结构之一,尤其在 Python 的 Pandas 库 中被广泛使用。
1. DataFrame 的核心特点
特点 | 说明 |
---|
二维结构 | 类似表格,有行(记录)和列(字段)。 |
列名(Column Names) | 每列有一个名称(如 name , age , salary )。 |
行索引(Index) | 每行有一个索引(默认从 0 开始,也可自定义)。 |
异构数据 | 不同列可以存储不同类型的数据(如数字、字符串、布尔值)。 |
灵活操作 | 支持筛选、排序、分组、合并等高级操作。 |
2. DataFrame 的常见用途
- 数据分析(如统计、聚合、可视化)
- 机器学习(特征工程、数据预处理)
- 数据库查询结果(类似 SQL 表)
- 金融、电商、医疗等领域的数据处理
3. DataFrame 的示例(Python Pandas)
import pandas as pd# 创建一个 DataFrame
data = {"Name": ["Alice", "Bob", "Charlie"],"Age": [25, 30, 35],"Salary": [50000, 60000, 70000]
}df = pd.DataFrame(data)print(df)
输出:
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
- 列名:
Name
, Age
, Salary
- 行索引:
0, 1, 2
- 数据类型:
Name
(字符串)、Age
(整数)、Salary
(整数)
4. DataFrame 的常见操作
操作 | 示例 |
---|
查看数据 | df.head() (前 5 行)、df.describe() (统计摘要) |
筛选数据 | df[df["Age"] > 30] (筛选年龄大于 30 的行) |
新增列 | df["Bonus"] = df["Salary"] * 0.1 (新增奖金列) |
排序 | df.sort_values("Salary", ascending=False) (按薪资降序排序) |
分组聚合 | df.groupby("Age")["Salary"].mean() (按年龄分组计算平均薪资) |
合并 DataFrame | pd.concat([df1, df2]) 或 pd.merge(df1, df2) |
5. DataFrame 与其他数据结构的区别
数据结构 | 特点 | 适用场景 |
---|
DataFrame | 二维表格,支持列操作 | 数据分析、机器学习 |
Series | 一维数组(DataFrame 的列) | 单变量分析 |
NumPy 数组 | 多维数组,仅支持数值计算 | 科学计算、矩阵运算 |
SQL 表 | 数据库中的二维表 | 数据存储、查询 |
6. DataFrame 的应用场景
- 金融分析(股票数据、交易记录)
- 电商数据分析(用户行为、销售数据)
- 医疗数据(病人记录、诊断结果)
- 机器学习(特征工程、数据预处理)
总结
- DataFrame 是一种二维表格数据结构,类似于 Excel 或 SQL 表。
- Pandas 的 DataFrame 是最常用的实现,支持灵活的数据操作。
- 适用于数据分析、机器学习、数据库查询等场景。