- 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 - DataFrame 的算术运算
Pandas DataFrame 是一种二维数据结构,用于以表格格式存储数据,类似于 SQL 或 Excel 中的表格。Pandas 的主要功能之一是能够对 DataFrame 执行矢量化算术运算。这意味着对 Pandas 数据结构的算术运算无需手动循环遍历元素即可执行。
在 Pandas 中应用算术运算可以让你快速有效地操作数据,无论你是处理单个 DataFrame 还是在多个 DataFrame 之间执行运算。
在本教程中,我们将学习如何在 Pandas DataFrame 上应用算术运算,如加法、减法、乘法和除法。
DataFrame 与标量值的算术运算
你可以直接对 DataFrame 和标量值执行算术运算。这些运算按元素应用,这意味着 DataFrame 中的每个值都会受到算术运算的影响。
以下是 Pandas DataFrame 上常用的算术运算符列表:
运算 | 使用运算符的示例 | 描述 |
---|---|---|
加法 | df + 2 | 将 2 加到 DataFrame 的每个元素上 |
减法 | df - 2 | 从每个元素中减去 2 |
乘法 | df * 2 | 将每个元素乘以 2 |
除法 | df / 2 | 将每个元素除以 2 |
幂运算 | df ** 2 | 将每个元素提升到 2 的幂 |
取模 | df % 2 | 求除以 2 的余数 |
地板除 | df // 2 | 除并取商的下界 |
示例
以下示例演示了如何在 Pandas DataFrame 上应用所有算术运算符以及标量值。
import pandas as pd # Create a sample DataFrame data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]} df = pd.DataFrame(data) # Display the input DataFrame print("Input DataFrame:\n", df) # Perform arithmetic operations print("\nAddition:\n", df + 2) print("\nSubtraction:\n", df - 2) print("\nMultiplication:\n", df * 2) print("\nDivision:\n", df / 2) print("\nExponentiation:\n", df ** 2) print("\nModulus:\n", df % 2) print("\nFloor Division:\n", df // 2)
以下是上述代码的输出:
Input DataFrame: A B 0 1 5 1 2 6 2 3 7 3 4 8 Addition: A B 0 3 7 1 4 8 2 5 9 3 6 10 Subtraction: A B 0 -1 3 1 0 4 2 1 5 3 2 6 Multiplication: A B 0 2 10 1 4 12 2 6 14 3 8 16 Division: A B 0 0.5 2.5 1 1.0 3.0 2 1.5 3.5 3 2.0 4.0 Exponentiation: A B 0 1 25 1 4 36 2 9 49 3 16 64 Modulus: A B 0 1 1 1 0 0 2 1 1 3 0 0 Floor Division: A B 0 0 2 1 1 3 2 1 3 3 2 4
两个 DataFrame 之间的算术运算
Pandas 允许你在两个 DataFrame 之间应用算术运算符。正如我们已经知道的,DataFrame 是根据它们的索引和列标签对齐的。如果在应用这些运算符时标签不匹配,则相应的结果将为 NaN。
示例
此示例演示了在两个 DataFrame 对象上应用算术运算。
import pandas as pd # Create two DataFrames df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}) df2 = pd.DataFrame({'A': [10, 20, 30], 'B': [50, 60, 70]}, index=[1, 2, 3]) # Display the input DataFrames print("DataFrame 1:\n", df1) print("\nDataFrame 2:\n", df2) # Perform arithmetic operations print("\nAddition:\n", df1 + df2) print("\nSubtraction:\n", df1 - df2) print("\nMultiplication:\n", df1 * df2) print("\nDivision:\n", df1 / df2)
以下是上述代码的输出:
DataFrame 1: A B 0 1 5 1 2 6 2 3 7 3 4 8 DataFrame 2: A B 1 10 50 2 20 60 3 30 70 Addition: A B 0 NaN NaN 1 12.0 56.0 2 23.0 67.0 3 34.0 78.0 Subtraction: A B 0 NaN NaN 1 -8.0 -44.0 2 -17.0 -53.0 3 -26.0 -62.0 Multiplication: A B 0 NaN NaN 1 20.0 300.0 2 60.0 420.0 3 120.0 560.0 Division: A B 0 NaN NaN 1 0.200000 0.120000 2 0.150000 0.116667 3 0.133333 0.114286
Pandas 中的算术函数
除了上述运算符外,Pandas 还提供了各种函数来对 Pandas 数据结构执行算术运算,这些函数可以有效地处理缺失值并提供其他自定义选项,例如选择轴和指定级别。
序号 | 函数 | 描述 |
---|---|---|
1 | add(other[, axis, level, fill_value]) | 按元素加法(二元运算符 +)。 |
2 | sub(other[, axis, level, fill_value]) | 按元素减法(二元运算符 -)。 |
3 | mul(other[, axis, level, fill_value]) | 按元素乘法(二元运算符 *)。 |
4 | div(other[, axis, level, fill_value]) | 按元素浮点除法(二元运算符 /)。 |
5 | truediv(other[, axis, level, ...]) | 按元素浮点除法(二元运算符 /)。 |
6 | floordiv(other[, axis, level, ...]) | 按元素整数除法(二元运算符 //)。 |
7 | mod(other[, axis, level, fill_value]) | 按元素取模运算(二元运算符 %)。 |
8 | pow(other[, axis, level, fill_value]) | 按元素指数幂(二元运算符 **)。 |
9 | dot(other) | 与另一个 DataFrame 或数组进行矩阵乘法。 |
10 | radd(other[, axis, level, fill_value]) | 反向按元素加法。 |
11 | rsub(other[, axis, level, fill_value]) | 反向按元素减法。 |
12 | rmul(other[, axis, level, fill_value]) | 反向按元素乘法。 |
13 | rdiv(other[, axis, level, fill_value]) | 反向按元素浮点除法。 |
14 | rfloordiv(other[, axis, level, ...]) | 反向按元素整数除法。 |
15 | rmod(other[, axis, level, fill_value]) | 反向按元素取模运算。 |
16 | rpow(other[, axis, level, fill_value]) | 反向按元素指数幂。 |
广告