Pandas入门:Series与DataFrame操作详解
需积分: 15 35 浏览量
更新于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的基本操作,对于进行数据处理和分析至关重要。通过熟悉这些基础,可以更高效地组织和操作数据,实现数据分析任务。
268 浏览量
135 浏览量
2024-07-06 上传
316 浏览量
2023-05-26 上传
428 浏览量
146 浏览量

淡尽浮华
- 粉丝: 11
最新资源
- iOS ZPDatePicker:定制多种时间选择样式
- 控制台进度条的简易实现与测试
- 智能机票查询系统:一键检索国内外航班
- WinSetupFromUSB制作U盘安装WinXp系统教程
- Heig-VD AMT项目1: 构建REST-API的软件即服务平台
- Vue项目轻松集成Hotjar:vue-hotjar NPM包解析
- 2018世界杯足球赛的CRX插件解析
- 打造自定义Android底部弹窗:PicPopupWindow组件的使用
- YOLOv3预训练权重模型下载指南
- Smalltalk Blink项目:创新课程管理系统实践
- 基于JSP MVC的在线图片管理系统的实现
- STM32MP157单片机FreeRTOS任务管理实战教程
- 第六组火车票管理系统4.2的UML实训建模分析
- Studio 3T:提升MongoDB工作效率的终极工具
- 2020年编程挑战:Advent of Code 2020解析
- Android RecyclerView条目选中功能实现示例