5 Pandas 数据结构介绍:Series 与 DataFrame
在上一篇中,我们讨论了如何配置环境以安装 Pandas 库,确保我们可以使用这个强大的数据分析工具。本篇将深入探讨 Pandas 的两种核心数据结构:Series 和 DataFrame。理解这两种数据结构是使用 Pandas 进行数据分析的基础。
1. 什么是 Series?
Series 是 Pandas 中的一维数组对象,类似于 Python 的列表(list)或者 NumPy 的数组(ndarray),但 Series 还具有标签(index)的特性。每个元素都可以通过索引访问。
示例
下面是一个创建 Series 的简单示例:
import pandas as pd
# 创建一个简单的 Series
data = pd.Series([10, 20, 30, 40])
print(data)
输出结果为:
0 10
1 20
2 30
3 40
dtype: int64
在这个例子中,我们创建了一个包含四个整数的 Series。每个值都有一个默认索引(从 0 开始)。
自定义索引
我们还可以为 Series 自定义索引:
# 自定义索引
data_custom_index = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(data_custom_index)
输出结果为:
a 10
b 20
c 30
dtype: int64
通过 index 参数,我们可以指定 'a', 'b', 'c' 作为索引,这使得取值更加直观。
2. 什么是 DataFrame?
DataFrame 是 Pandas 中的二维数据结构,类似于电子表格或 SQL 表。它由行和列组成,可以看作是由多个 Series 组成的字典,每个 Series 可以用列名索引。
示例
下面是一个创建 DataFrame 的简单示例:
# 创建一个简单的 DataFrame
data_dict = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Salary': [50000, 60000, 70000]
}
df = pd.DataFrame(data_dict)
print(df)
输出结果为:
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
在这个例子中,我们创建了一个包含三列的 DataFrame,列分别是 Name, Age, 和 Salary,每一列都是一个 Series。
访问数据
我们可以轻松访问 DataFrame 中的数据。比如,我们可以通过列名来访问某一列:
# 访问 Salary 列
salaries = df['Salary']
print(salaries)
输出结果为:
0 50000
1 60000
2 70000
Name: Salary, dtype: int64
我们也可以通过行索引访问特定行:
# 访问第一行
first_row = df.iloc[0]
print(first_row)
输出结果为:
Name Alice
Age 25
Salary 50000
Name: 0, dtype: object
3. Series 与 DataFrame 的对比
在下一篇中,我们将讨论 Pandas 中常用数据结构的对比,因此在这里简单列出 Series 和 DataFrame 的主要区别:
| 特性 | Series | DataFrame |
|---|---|---|
| 维度 | 一维 | 二维 |
| 数据访问 | 通过单个索引访问 | 通过行、列索引访问 |
| 适用场景 | 一维数据、时间序列等 | 表格数据、多个变量的相关性分析 |
| 结构 | 一种类型的数据 | 多种类型的数据组合 |
结语
通过对 Series 和 DataFrame 的理解,我们为后续的数据处理和分析奠定了基础。在下一篇中,我们将深入探讨这两者的特点以及它们在数据分析中的应用。继续保持好奇心,深入探索 Pandas 的强大功能吧!
