如何导入?
- import Pandas as pd
一、Pandas概述
核心问题:如何高效处理结构化数据? 知识网络:数据分析工具链(NumPy → Pandas → Matplotlib)→ 结构化数据操作 → 数据清洗 → 数据建模
1.特点
- 构建于其他库之上:Pandas 是在 Numpy 和 Matplotlib 的基础上构建而来的开源第三方 Python 库。它利用了 Numpy 提供的高性能矩阵运算能力,同时结合了 Matplotlib 的可视化功能,为数据分析提供了强大的支持。
- 名字由来:其名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。
- 数据处理能力强大:是一个强大的分析结构化数据的工具集,可以对各种数据进行运算操作,如归并、再成形、选择,还具备数据清洗和数据加工等特征。
- 实现数据分析的五个重要环节:加载数据、整理数据、操作数据、构建数据模型、分析数据。
2.优势
- 多维数据结构:Series(一维带标签数组)、DataFrame(二维表格)
- 数据整合:支持CSV/Excel/SQL等多种数据源接入
- 高效运算:基于NumPy,支持向量化操作
- 应用场景:金融分析(股票数据清洗)、学术研究(实验数据统计)、商业报表(销售数据透视)
# 普通列表 vs Pandas Series
data_list = [1, 2, 3] # 无标签,无法快速定位
data_series = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
# 通过标签直接访问(如 data_series['a'])
二、环境搭建
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/
三、核心数据结构
Series vs DataFrame
核心问题:如何选择数据结构表达不同维度的数据? 知识网络:一维数据 → Series;二维数据 → DataFrame → 行列操作 → 数据关联
1. Series
- 本质:带标签的一维数组(索引可自定义)
- 创建方式:
# 从字典创建(键→索引,值→数据)
data_dict = {'a': 1, 'b': 2}
series = pd.Series(data_dict) # 输出:a→1, b→2
# 从列表创建(默认索引0,1,2)
series = pd.Series([1, 2, 3], index=['x', 'y', 'z'])
2. DataFrame
- 本质:由多个Series组成的二维表格
- 既有行标签又有列标签,也被称为异构数据表,即表格中每列的数据类型可以不同
- 每一行或列数据都可以看成一个 Series 结构
- 创建方式:
# 从字典嵌套列表创建
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data, index=['id1', 'id2']) # 自定义行索引
# 添加列
df['Salary'] = [5000, 6000] # 直接扩展新列
对比表格:
特性 | Series | DataFrame |
---|---|---|
维度 | 一维 | 二维 |
索引灵活性 | 支持自定义标签 | 行/列均支持自定义标签 |
数据扩展 | 不可新增维度 | 可动态增删列 |
典型场景 | 单列数据(如温度序列) | 多属性数据(如用户表) |