- Python Pandas 教程
- Python Pandas - 首页
- Python Pandas - 简介
- Python Pandas - 环境搭建
- Python Pandas - 基础
- Python Pandas - 数据结构介绍
- Python Pandas - 索引对象
- Python Pandas - Panel (面板)
- Python Pandas - 基本功能
- Python Pandas - 索引和数据选择
- Python Pandas - Series (序列)
- Python Pandas - Series (序列)
- Python Pandas - Series 对象切片
- Python Pandas - Series 对象的属性
- Python Pandas - Series 对象的算术运算
- Python Pandas - Series 对象转换为其他对象
- Python Pandas - DataFrame (数据框)
- Python Pandas - DataFrame (数据框)
- Python Pandas - 访问 DataFrame
- Python Pandas - DataFrame 对象切片
- Python Pandas - 修改 DataFrame
- Python Pandas - 从 DataFrame 中删除行
- Python Pandas - DataFrame 的算术运算
- Python Pandas - I/O 工具
- Python Pandas - I/O 工具
- Python Pandas - 使用 CSV 格式
- Python Pandas - 读取和写入 JSON 文件
- Python Pandas - 从 Excel 文件读取数据
- Python Pandas - 将数据写入 Excel 文件
- Python Pandas - 使用 HTML 数据
- Python Pandas - 剪贴板
- Python Pandas - 使用 HDF5 格式
- Python Pandas - 与 SQL 的比较
- Python Pandas - 数据处理
- Python Pandas - 排序
- Python Pandas - 重新索引
- Python Pandas - 迭代
- Python Pandas - 级联
- Python Pandas - 统计函数
- Python Pandas - 描述性统计
- Python Pandas - 使用文本数据
- Python Pandas - 函数应用
- Python Pandas - 选项和自定义
- Python Pandas - 窗口函数
- Python Pandas - 聚合
- Python Pandas - 合并/连接
- Python Pandas - 多级索引
- Python Pandas - 多级索引基础
- Python Pandas - 使用多级索引进行索引
- Python Pandas - 使用多级索引进行高级重新索引
- Python Pandas - 重命名多级索引标签
- Python Pandas - 对多级索引排序
- Python Pandas - 二元运算
- Python Pandas - 二元比较运算
- Python Pandas - 布尔索引
- Python Pandas - 布尔掩码
- Python Pandas - 数据重塑和透视
- Python Pandas - 透视表
- Python Pandas - 堆叠和解堆叠
- Python Pandas - 熔化
- Python Pandas - 计算虚拟变量
- Python Pandas - 分类数据
- Python Pandas - 分类数据
- Python Pandas - 分类数据的排序和排序
- Python Pandas - 比较分类数据
- Python Pandas - 处理缺失数据
- Python Pandas - 缺失数据
- Python Pandas - 填充缺失数据
- Python Pandas - 缺失值的插值
- Python Pandas - 删除缺失数据
- Python Pandas - 使用缺失数据进行计算
- Python Pandas - 处理重复项
- Python Pandas - 重复数据
- Python Pandas - 计数和检索唯一元素
- Python Pandas - 重复标签
- Python Pandas - 分组和聚合
- Python Pandas - GroupBy
- Python Pandas - 时间序列数据
- Python Pandas - 日期功能
- Python Pandas - Timedelta (时间差)
- Python Pandas - 稀疏数据结构
- Python Pandas - 稀疏数据
- Python Pandas - 可视化
- Python Pandas - 可视化
- Python Pandas - 附加概念
- Python Pandas - 警告和陷阱
- Python Pandas 有用资源
- Python Pandas - 快速指南
- Python Pandas - 有用资源
- Python Pandas - 讨论
Python Pandas - 数据结构介绍
Python Pandas 数据结构
Pandas 中的数据结构旨在高效地处理数据。它们允许以优化内存使用和计算性能的方式组织、存储和修改数据。Python Pandas 库提供两种主要的数据结构用于处理和分析数据:
- Series (序列)
- DataFrame (数据框)
在一般的编程中,“数据结构”是指收集、组织和存储数据以实现高效访问和修改的方法。数据结构是数据类型的集合,它们提供以内存使用率为标准组织项目(值)的最佳方式。
Pandas 建立在 NumPy 之上,并与许多其他第三方库很好地集成在科学计算环境中。本教程将详细介绍这些数据结构。
Pandas 数据结构的维度和描述
数据结构 | 维度 | 描述 |
---|---|---|
Series (序列) | 1 | 一维带标签的同质数组,大小不可变。 |
数据框 (Data Frames) | 2 | 二维带标签的、大小可变的表格结构,列的类型可能不同。 |
使用两个或多个维度的数组可能很复杂且耗时,因为用户在编写函数时需要仔细考虑数据的方向。但是,Pandas 通过减少所需的心智负担简化了此过程。例如,当处理表格数据 (DataFrame) 时,更容易从行和列的角度思考,而不是从轴 0 和轴 1 的角度思考。
Pandas 数据结构的可变性
所有 Pandas 数据结构都是值可变的,这意味着它们的内容可以更改。但是,它们的大小可变性各不相同:
- Series (序列) - 大小不可变。
- DataFrame (数据框) - 大小可变。
Series (序列)
Series 是一维带标签的数组,可以保存任何数据类型。它可以存储整数、字符串、浮点数等。Series 中的每个值都与一个标签(索引)相关联,该标签可以是整数或字符串。
姓名 | 史蒂夫 |
年龄 | 35 |
性别 | 男 |
评分 | 3.5 |
示例
考虑以下 Series,它是一组不同数据类型的集合
import pandas as pd data = ['Steve', '35', 'Male', '3.5'] series = pd.Series(data, index=['Name', 'Age', 'Gender', 'Rating']) print(series)
执行上述程序后,您将获得以下输出:
Name Steve Age 35 Gender Male Rating 3.5 dtype: object
关键点
以下是与 Pandas Series 相关的关键点。
- 同质数据
- 大小不可变
- 数据值可变
DataFrame (数据框)
DataFrame 是一个二维带标签的数据结构,其列可以包含不同类型的数据。它类似于数据库中的表或电子表格。考虑以下数据,它表示销售团队的绩效评分:
姓名 | 年龄 | 性别 | 评分 |
---|---|---|---|
史蒂夫 | 32 | 男 | 3.45 |
莉亚 | 28 | 女 | 4.6 |
文 | 45 | 男 | 3.9 |
凯蒂 | 38 | 女 | 2.78 |
示例
上述表格数据可以用 DataFrame 表示如下:
import pandas as pd # Data represented as a dictionary data = { 'Name': ['Steve', 'Lia', 'Vin', 'Katie'], 'Age': [32, 28, 45, 38], 'Gender': ['Male', 'Female', 'Male', 'Female'], 'Rating': [3.45, 4.6, 3.9, 2.78] } # Creating the DataFrame df = pd.DataFrame(data) # Display the DataFrame print(df)
输出
执行上述代码后,您将获得以下输出:
Name Age Gender Rating 0 Steve 32 Male 3.45 1 Lia 28 Female 4.60 2 Vin 45 Male 3.90 3 Katie 38 Female 2.78
关键点
以下是与 Pandas DataFrame 相关的关键点:
- 异质数据
- 大小可变
- 数据可变
使用多个数据结构的目的
Pandas 数据结构是低维数据的灵活容器。例如,DataFrame 是 Series 的容器,Series 是标量的容器。这种灵活性允许高效的数据操作和存储。
构建和处理多维数组可能会很枯燥,并且在编写函数时需要仔细考虑数据的方向。Pandas 通过提供直观的数据结构来减少这种心智负担。
示例
下面的例子表示 DataFrame 中的一个 Series。
import pandas as pd # Data represented as a dictionary data = { 'Name': ['Steve', 'Lia', 'Vin', 'Katie'], 'Age': [32, 28, 45, 38], 'Gender': ['Male', 'Female', 'Male', 'Female'], 'Rating': [3.45, 4.6, 3.9, 2.78] } # Creating the DataFrame df = pd.DataFrame(data) # Display a Series within a DataFrame print(df['Name'])
输出
执行上述代码后,您将获得以下输出:
0 Steve 1 Lia 2 Vin 3 Katie Name: Name, dtype: object