Pandas 是 Python 编程语言中用于数据分析和操作的一个非常强大的库。它提供了快速、灵活和表达式丰富的数据结构,旨在使数据清洗、分析以及数据转换等工作变得既简单又直观。Pandas 尤其擅长处理表格数据,类似于 Excel 或 SQL 表中的数据结构。
### 核心数据结构
Pandas 的两个核心数据结构是:
1. **Series**:一维数组,类似于 Python 的列表(list)或 NumPy 的一维数组(ndarray),但它只能存储相同数据类型的元素。Series 不仅可以存储数据,还可以存储数据的索引(index),这使得数据的访问和操作更加方便。
2. **DataFrame**:二维表格型数据结构,类似于 SQL 表或 Excel 中的数据表。DataFrame 既有行索引也有列索引,可以存储不同类型的数据(但每列的数据类型必须相同)。DataFrame 提供了丰富的数据操作功能,如数据筛选、排序、分组、合并等。
### 常用功能
Pandas 提供了大量的函数和方法来支持数据的清洗、转换、分析和可视化。以下是一些常用的功能:
- **数据读取和写入**:Pandas 支持从多种数据源读取数据,如 CSV 文件、Excel 文件、SQL 数据库等,并能够将数据写入这些数据源。
- **数据清洗**:包括处理缺失值(如填充、删除等)、数据类型转换、数据排序、数据去重等。
- **数据转换**:包括数据聚合、分组、重塑(如 pivot 操作)、合并(如 join、merge 操作)等。
- **数据分析**:Pandas 提供了丰富的统计分析功能,如描述性统计(均值、中位数、标准差等)、相关性分析等。
- **数据可视化**:虽然 Pandas 本身不提供复杂的可视化功能,但它可以与其他可视化库(如 Matplotlib、Seaborn)结合使用,以创建高质量的图表和图形。
### 示例代码
以下是一个简单的 Pandas 示例,展示了如何创建 DataFrame、添加列、筛选数据以及计算描述性统计:
```python
import pandas as pd
import numpy as np
# 创建一个简单的 DataFrame
data = {
'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
'Age': [5, 7, 9, 8],
'Score': [88, 92, 78, 95]
}
df = pd.DataFrame(data)
# 添加一列
df['Grade'] = pd.cut(df['Score'], bins=[0, 60, 70, 80, 90, 100], labels=['F', 'D', 'C', 'B', 'A'])
# 筛选数据
high_scores = df[df['Score'] > 90]
# 计算描述性统计
print(df.describe())
# 显示 DataFrame
print(df)
```
这个示例首先创建了一个包含姓名、年龄和分数的 DataFrame。然后,它添加了一个新列来表示每个学生的成绩等级。接着,它筛选出了分数高于 90 的学生。最后,它计算了 DataFrame 的描述性统计信息,并打印了整个 DataFrame。