22.1 核心数据结构:Series 与 DataFrame
Python pandas教程:核心数据结构Series与DataFrame详解
学习Python pandas库中的核心数据结构Series和DataFrame,适合新手入门,掌握数据分析和处理的基础知识,包括创建、操作和应用示例。
推荐工具
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,实践是掌握的关键!
开发工具推荐