Pandas入门:Series与DataFrame操作详解

需积分: 15 4 下载量 121 浏览量 更新于2024-09-12 收藏 405KB PDF 举报
"这篇文档介绍了Pandas的基本用法,包括其核心数据结构Series和DataFrame,以及如何进行操作和创建。" 在Python的数据分析领域,Pandas是一个不可或缺的库,它构建于NumPy之上,提供了高效的数据处理能力。Pandas的核心在于它的两个主要数据结构:Series和DataFrame。 2.1 基本的数据结构 Pandas的Series是一种一维的数据结构,类似于带标签的数组。它可以存储各种数据类型(整数、字符串、浮点数、Python对象等)。而DataFrame则是一个二维表格型数据结构,包含了列名(columns)和行索引,可以看作是由Series组成的字典,其中每一列都是一个Series。 2.2 代码说明 在Jupyter Notebook中,通常我们会首先导入Pandas库,并用别名pd来引用,如`import pandas as pd`。之后就可以直接使用Series和DataFrame的构造函数来创建这些数据结构。 3.1 数据形式: Series vs List Series在视觉上与列表不同,列表是水平排列的,而Series则是垂直排列的。Series中的每个元素都有一个对应的索引标签,这使得Series在数据操作时能更精确地定位。 3.2 元素的类型 Series中的元素可以是任意Python对象,提供了极大的灵活性。 3.3 创建Series, 用list 通过传递一个列表和可选的索引列表,可以创建Series。例如:`pd.Series([9, 3, 8])`,默认情况下,索引将是从0开始的整数序列。 3.4 自定义索引 创建Series时,可以通过提供自己的索引列表来指定索引,例如:`pd.Series([9, 3, 8], index=['a', 'b', 'c'])`。 3.5 根据索引查看及修改 可以使用索引来访问和修改Series中的值,如`series['a']`返回或设置索引为'a'的值。 3.6 创建Series, 用dict 通过字典可以创建Series,键将成为索引,值成为数据。例如:`pd.Series({'a': 1, 'b': 2, 'c': 3})`。 3.6.1 创建 字典的键和值分别对应Series的索引和元素。 3.6.2 自动对齐 当Series与字典或其他Series操作时,Pandas会自动对齐索引,确保相同索引的元素进行操作。 3.6.3 缺省值, NaN 如果字典中某些键不存在,对应的值将是NaN(Not a Number)。 3.7 判断是否为空 可以使用`isna()`或`notna()`方法检查Series是否为空。 3.8 更新索引 通过`reindex()`方法可以更改或扩展Series的索引。 4.1 DataFrame DataFrame通过字典创建,其中字典的键是列名,值是Series或列表。例如:`pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})`。 4.2 columns的顺序 DataFrame的列顺序由输入字典中键的顺序决定。 4.3 自定义索引 可以使用`index`参数为DataFrame指定行索引。 4.4 索引值数目必须与行数相等 创建DataFrame时,索引数量应与数据列的数量相匹配。 4.5 缺省值, 赋NaN 未提供的值默认为NaN。 4.6 创建, 通过'字典套字典' 通过嵌套字典可以创建DataFrame,外层字典的键是列名,内层字典是行数据。 4.7 对象的属性及方法 DataFrame有很多内置的方法和属性,如`head()`, `tail()`, `describe()`等,用于查看和处理数据。 4.8 赋值, 一列统一赋值 可以使用列名来统一赋值,如`df['A'] = 0`。 4.9 赋值, 点对点 通过索引位置或标签可以点对点赋值,如`df.loc[0, 'A'] = 1`。 4.10 赋值, 更精准的修改 利用条件表达式或布尔索引可以进行更精准的赋值操作。 学习Pandas,尤其是掌握Series和DataFrame的基本操作,对于进行数据处理和分析至关重要。通过熟悉这些基础,可以更高效地组织和操作数据,实现数据分析任务。