DataFrame支持算术运算(+、-、、/、*),自动按索引对齐,可通过add()等方法结合fill_value处理缺失值;2. 比较运算返回布尔型数据,用于条件筛选,如df[‘A’] > 5;3. 统计运算包括sum、mean、std等,默认跳过NaN,支持axis参数与groupby结合;4. apply()可对行或列应用函数,map()用于元素级操作。掌握这些可提升数据处理效率,注意对齐与缺失值处理。

在python中,DataFrame是pandas库中最常用的数据结构之一,适用于处理表格型数据。它支持丰富的运算操作,能高效完成数据清洗、转换和分析任务。以下是关于DataFrame常见运算的总结,涵盖算术运算、比较运算、统计运算及应用函数等核心内容。
算术运算
DataFrame支持标准的算术操作,如加(+)、减(-)、乘(*)、除(/)和幂(**)。这些操作默认按列对齐,自动处理索引匹配问题。
- 两个DataFrame进行运算时,pandas会基于行索引和列标签对齐数据,未对齐的部分结果为NaN
- DataFrame与标量运算时,操作会广播到每个元素
- 支持使用方法形式如 add()、sub()、mul()、div(),可指定fill_value处理缺失值
示例:
df1 + df2
df * 2
df.add(other_df, fill_value=0)
比较运算
比较运算返回布尔型DataFrame,常用于条件筛选。
立即学习“Python免费学习笔记(深入)”;
- 支持 ==、!=、>、=、
- 结果是相同形状的DataFrame,元素为True或False
- 可用于构建掩码,配合布尔索引提取子集
示例:
df > 5
df[df[‘A’] > df[‘B’]]
统计运算
DataFrame提供多种内置统计方法,多数默认跳过缺失值。
- sum():求和,axis=0表示按列计算,axis=1按行
- mean()、median():均值和中位数
- std()、var():标准差和方差
- min()、max()、quantile():极值与分位数
- describe():生成描述性统计摘要
- count():非空值数量
这些方法可配合 groupby 实现分组统计。
应用自定义函数
使用 apply() 方法可在行或列上应用函数。
- df.apply(func, axis=0):对每列应用func
- df.apply(func, axis=1):对每行应用func
- func可以是Lambda表达式或自定义函数
- applymap() 已弃用,推荐使用 map() 或 apply() 代替元素级操作
示例:
df.apply(lambda x: x.max() – x.min(), axis=1)
df[‘A’].map(lambda x: x * 2)
基本上就这些。掌握这些运算方式,能大幅提升数据处理效率。注意对齐规则和缺失值处理,避免意外结果。


