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
的强大功能吧!