Python 教程

22.1 核心数据结构:Series 与 DataFrame

Python pandas教程:核心数据结构Series与DataFrame详解

Python 教程

学习Python pandas库中的核心数据结构Series和DataFrame,适合新手入门,掌握数据分析和处理的基础知识,包括创建、操作和应用示例。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Series和DataFrame:Python pandas的核心数据结构

介绍

Python中的pandas库是数据分析和处理的重要工具,它提供了两种核心数据结构:Series和DataFrame。这些结构让处理表格数据变得简单高效,适合新手快速上手。

什么是Series?

Series是pandas中的一维带标签数组,类似于Python列表或NumPy数组,但每个元素都有一个标签(称为索引)。

创建Series

你可以使用列表、字典或NumPy数组来创建Series。

import pandas as pd

# 从列表创建Series
s1 = pd.Series([10, 20, 30])
print(s1)
# 输出:
# 0    10
# 1    20
# 2    30
# dtype: int64

# 自定义索引
s2 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
print(s2)
# 输出:
# a    1
# b    2
# c    3
# dtype: int64

# 从字典创建
s3 = pd.Series({'x': 5, 'y': 10, 'z': 15})
print(s3)

基本操作

Series支持各种操作,如索引访问、数学运算和统计计算。

# 索引访问
print(s2['a'])  # 输出:1

# 运算
print(s2 * 2)  # 输出:a:2, b:4, c:6

# 统计
print(s2.mean())  # 输出:2.0

什么是DataFrame?

DataFrame是pandas中的二维数据结构,类似于电子表格或SQL表,由行和列组成,每列可以有不同的数据类型。

创建DataFrame

可以从字典、列表或Series创建DataFrame。

# 从字典创建(键是列名)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
print(df1)
# 输出:
#    A  B
# 0  1  x
# 1  2  y
# 2  3  z

# 从Series列表创建
s_series = pd.Series([10, 20], index=['row1', 'row2'])
t_series = pd.Series([30, 40], index=['row1', 'row2'])
df2 = pd.DataFrame({'S': s_series, 'T': t_series})
print(df2)

基本操作

DataFrame支持行/列访问、筛选和聚合操作。

# 访问列
print(df1['A'])  # 输出:0:1, 1:2, 2:3

# 访问行
print(df1.loc[0])  # 输出:A:1, B:x

# 筛选
filtered_df = df1[df1['A'] > 1]
print(filtered_df)
# 输出:
#    A  B
# 1  2  y
# 2  3  z

Series和DataFrame的对比

  • Series:一维数据,适合存储单个序列,如时间序列或单一特征。
  • DataFrame:二维数据,适合存储多个相关序列,如表格数据或数据集。

通常,DataFrame由多个Series组成(每列是一个Series),是数据分析中最常用的结构。

总结

掌握Series和DataFrame是学习pandas的第一步。通过练习创建和操作这些结构,你可以轻松处理各种数据任务。建议多写代码示例,加深理解。

后续学习建议

尝试导入真实数据集(如CSV文件),用pandas加载并探索DataFrame,实践是掌握的关键!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包