DataFrame
时间: 2025-05-25 17:11:20 浏览: 17
### DataFrame 的定义与核心特性
Pandas 是 Python 生态中最常用的数据分析工具之一,而 `DataFrame` 则是 Pandas 库中的核心数据结构。它是一种二维表格式的数据结构,具有行列标签,类似于电子表格或 SQL 表格[^1]。
以下是 `DataFrame` 的一些主要特点:
- **灵活的大小**:支持动态增加或删除行和列。
- **异构型数据**:允许同一列内的数据类型相同,不同列间可存储不同类型的数据。
- **内置功能强大**:提供丰富的数据操作方法,如过滤、分组、聚合等。
---
### 创建 DataFrame 的基本方式
可以通过多种途径创建一个 `DataFrame` 对象。最常见的方式是从 NumPy 数组或其他数据源构建:
#### 示例 1:从 NumPy 数组创建
如果已有 NumPy 数组,则可以直接通过指定数组及其对应的列名来创建 `DataFrame`[^2]。
```python
import numpy as np
import pandas as pd
np_array = np.array([[1, 2], [3, 4], [5, 6]])
columns = ['col1', 'col2']
df = pd.DataFrame(np_array, columns=columns)
print(df)
```
运行结果如下:
```
col1 col2
0 1 2
1 3 4
2 5 6
```
---
### 数据选择与筛选
对于复杂的数据集,通常需要按特定条件提取子集。下面展示如何基于索引或逻辑表达式选取所需部分[^3]。
#### 示例 2:使用 `.loc[]` 方法进行高级筛选
`.loc[]` 支持通过布尔掩码或者自定义函数完成复杂的行/列选择。
```python
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
}
df = pd.DataFrame(data)
# 使用 lambda 函数筛选年龄大于等于 30 岁的人
filtered_df = df.loc[df['age'].apply(lambda x: x >= 30), :]
print(filtered_df)
```
输出结果为:
```
name age
1 Bob 30
2 Charlie 35
```
---
### 将 DataFrame 转化为其他形式
有时为了与其他模块交互,需将 `DataFrame` 导出至另一种格式(比如字典)。这可通过调用相应的方法轻松实现[^4]。
#### 示例 3:转为嵌套字典
利用 `to_dict()` 可快速获取键值映射关系。
```python
city_data = {
'城市': ['北京', '天津', '上海', '南京', '深圳', '广州'],
'温度': [20, 43, 72, 52, 26, 64],
'降水': [8, 13, 14, 12, 24, 35]
}
df_cities = pd.DataFrame(city_data)
result_dict = df_cities.to_dict()
print(result_dict)
```
打印的结果将是这样的字典对象:
```plaintext
{'城市': {0: '北京', 1: '天津', 2: '上海', 3: '南京', 4: '深圳', 5: '广州'},
'温度': {0: 20, 1: 43, 2: 72, 3: 52, 4: 26, 5: 64},
'降水': {0: 8, 1: 13, 2: 14, 3: 12, 4: 24, 5: 35}}
```
---
### 总结
以上介绍了有关 Pandas 中 `DataFrame` 定义、创建以及基础应用的知识点。无论是简单的数值运算还是更深层次的数据挖掘任务,掌握这些技能都是不可或缺的基础。
阅读全文
相关推荐


















