Pandas 是基于 NumPy 构建的高性能、易用的数据分析和数据处理库。它提供了两种核心数据结构:Series(一维)和 DataFrame(二维),支持高效的数据清洗、转换、切片、聚合、可视化准备等,是数据科学、金融分析、商业智能等领域的首选工具。
安装:
pip install pandas
常见应用场景:
(1)数据清洗与预处理(缺失值、重复值处理等)。
(2)结构化数据分析与建模。
(3)时间序列分析(金融数据、传感器数据)。
(4)表格数据读写(CSV、Excel、SQL 等)。
(5)配合机器学习框架进行数据准备(如 sklearn)。
◆ ◆ ◆
核心概念
1、Series
带索引的一维数组,类似于列表但更强大。
2、DataFrame
二维表格型数据结构,类似电子表格或 SQL 表。
3、索引(Index)机制
支持行列标识、自动对齐、分组聚合等功能。
4、向量化操作
批量数据处理,无需显式循环。
5、数据对齐与广播
支持自动对齐数据结构,实现灵活运算。
◆ ◆ ◆
基础用法
import pandas as pd
# 创建 DataFramedata = { 'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}df = pd.DataFrame(data)print(df)
◆ ◆ ◆
应用举例
例 1:创建 Series 和 DataFrame
import pandas as pd
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])print(s)
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})print(df)
例 2:读取 CSV 并查看前几行
import pandas as pd
df = pd.read_csv('data.csv')print(df.head())
例 3:筛选数据行
import pandas as pd
df = pd.DataFrame({'name': ['Tom', 'Jane'], 'age': [28, 34]})print(df[df['age'] > 30]) # 仅显示 age > 30 的行
例 4:缺失值处理
import pandas as pd
df = pd.DataFrame({'a': [1, None, 3], 'b': [4, 5, None]})print(df.fillna(0)) # 用 0 填充缺失值
例 5:按组聚合
import pandas as pd
df = pd.DataFrame({ 'dept': ['HR', 'HR', 'IT', 'IT'], 'salary': [4000, 4500, 5000, 5200]})group = df.groupby('dept').mean()print(group)
◆ ◆ ◆
常用函数速览
DataFrame()
创建二维表格结构的数据对象。
参数:支持列表、字典、NumPy 数组等
返回:DataFrame 对象
drop(labels, axis=0)
删除指定行或列。
参数:
labels:要删除的行/列名
axis:0 表示行,1 表示列
返回:新 DataFrame
fillna(value)
填充缺失值。
参数:用于替代 NaN 的数值或方法(如 'ffill')
返回:新 DataFrame
groupby(by)
对数据按某列进行分组。
参数:列名或列表
返回:GroupBy 对象
head(n=5)
查看前 n 行数据。
参数:要查看的行数
返回:DataFrame
iloc[]
基于位置(整数)进行索引。
参数:行、列的整数索引
返回:值或切片
isnull()
判断数据是否为缺失值。
参数:无
返回:布尔型 DataFrame
loc[]
基于标签进行索引。
参数:行列名称
返回:值或切片
merge(df2, on=...)
按指定列合并两个 DataFrame。
参数:
df2:另一个 DataFrame
on:指定连接键
返回:合并后的新 DataFrame
read_csv(filepath)
读取 CSV 文件为 DataFrame。
参数:文件路径
返回:DataFrame
shape
获取 DataFrame 的行列数。
参数:无
返回:(行数, 列数) 元组
sort_values(by)
按指定列排序。
参数:列名,升降序等
返回:新排序后的 DataFrame
to_csv(filename)
将 DataFrame 写入 CSV 文件。
参数:文件名或路径
返回:无,文件写入磁盘
◆ ◆ ◆
补充说明
1、Pandas 是数据分析流程中的核心工具,掌握其 DataFrame 操作、索引、聚合等能力是数据科学的基础。
2、与 NumPy 配合可实现更高效的数值处理,与 Matplotlib/Seaborn 配合可进行可视化分析。
3、Pandas 的 API 非常庞大,建议借助官方文档、Jupyter Notebook 交互学习。
“点赞有美意,赞赏是鼓励”