【Pandas】pandas DataFrame rsub

Pandas2.2 DataFrame

Binary operator functions

方法 描述
DataFrame.add(other) 用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作
DataFrame.add(other, axis, level, fill_value) 用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作
DataFrame.sub(other, axis, level, fill_value) 用于执行逐元素的减法操作
DataFrame.mul(other, axis, level, fill_value) 用于执行逐元素的乘法操作
DataFrame.div(other, axis, level, fill_value) 用于执行逐元素的除法操作
DataFrame.truediv(other, axis, level, ...) 用于执行逐元素的真除法操作
DataFrame.floordiv(other, axis, level, ...) 用于执行逐元素的地板除法操作
DataFrame.mod(other, axis, level, fill_value) 用于执行逐元素的取模操作
DataFrame.pow(other, axis, level, fill_value) 用于对 DataFrame 中的元素进行幂运算
DataFrame.dot(other) 用于计算两个 DataFrame(或 DataFrame 与 Series/数组)之间的**矩阵点积(矩阵乘法)**的方法
DataFrame.radd(other, axis, level, fill_value) 用于执行反向加法运算
DataFrame.rsub(other, axis, level, fill_value) 用于执行反向减法运算

pandas.DataFrame.rsub()

pandas.DataFrame.rsub 方法用于执行反向减法运算。具体来说,它相当于调用 other - self,其中 self 是调用该方法的 DataFrame。以下是该方法的参数说明及其功能:

参数说明
  • other: 用于进行减法运算的值,可以是标量、序列、DataFrame 或字典。
  • axis : 指定沿哪个轴进行运算。0'index' 表示沿行进行运算,1'columns' 表示沿列进行运算。默认为 1
  • level : 如果 other 是一个 MultiIndex,则指定沿哪个级别进行运算。默认为 None
  • fill_value : 用于填充缺失值的值。默认为 None
示例及结果
示例 1: 使用标量进行反向减法运算
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

print("原始 DataFrame:")
print(df)

result = df.rsub(10)
print("\n反向减法后的 DataFrame (使用 rsub 并指定标量 10):")
print(result)

结果:

复制代码
原始 DataFrame:
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

反向减法后的 DataFrame (使用 rsub 并指定标量 10):
    A   B   C
0   9   6   3
1   8   5   2
2   7   4   1
示例 2: 使用序列进行反向减法运算
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

other = pd.Series([1, 2, 3])

print("原始 DataFrame:")
print(df)

result = df.rsub(other, axis=0)
print("\n反向减法后的 DataFrame (使用 rsub 并指定序列):")
print(result)

结果:

复制代码
原始 DataFrame:
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

反向减法后的 DataFrame (使用 rsub 并指定序列):
    A   B   C
0   0  -3  -6
1   0  -3  -6
2   0  -3  -6
示例 3: 使用 DataFrame 进行反向减法运算
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

other_df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

print("原始 DataFrame:")
print(df)

result = df.rsub(other_df)
print("\n反向减法后的 DataFrame (使用 rsub 并指定 DataFrame):")
print(result)

结果:

复制代码
原始 DataFrame:
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

反向减法后的 DataFrame (使用 rsub 并指定 DataFrame):
   A  B  C
0  0  0  0
1  0  0  0
2  0  0  0
示例 4: 使用字典进行反向减法运算
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

other_dict = {'A': 1, 'B': 2, 'C': 3}

print("原始 DataFrame:")
print(df)

result = df.rsub(other_dict)
print("\n反向减法后的 DataFrame (使用 rsub 并指定字典):")
print(result)

结果:

复制代码
原始 DataFrame:
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

反向减法后的 DataFrame (使用 rsub 并指定字典):
   A  B  C
0  0 -2 -4
1  0 -3 -5
2  0 -4 -6
解释
  1. 使用标量进行反向减法运算:

    • df.rsub(10) 计算 DataFrame df 中的每个元素与标量 10 的减法。
    • 结果是一个新的 DataFrame,其中每个元素是 10 减去 df 中的元素。
  2. 使用序列进行反向减法运算:

    • df.rsub(other, axis=0) 计算 DataFrame df 的每一行与序列 other 的对应元素的减法。
    • 结果是一个新的 DataFrame,其中每个元素是 other 的对应元素减去 df 的元素。
  3. 使用 DataFrame 进行反向减法运算:

    • df.rsub(other_df) 计算 DataFrame dfother_df 的对应元素的减法。
    • 结果是一个新的 DataFrame,其中每个元素是 other_df 的元素减去 df 的元素。
  4. 使用字典进行反向减法运算:

    • df.rsub(other_dict) 计算 DataFrame df 的每一列与字典 other_dict 中对应键的值的减法。
    • 结果是一个新的 DataFrame,其中每个元素是字典 other_dict 中的值减去 df 的元素。

这些示例展示了 DataFrame.rsub 方法的不同用法及其效果。根据具体需求,可以选择合适的参数来进行反向减法运算。

相关推荐
优橙教育19 分钟前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
想会飞的蒲公英1 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
SeaTunnel2 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
深度研习笔记2 小时前
OpenCV工业视觉实战09|项目EXE打包+工控机无环境部署+后台常驻运行,彻底脱离Python环境,完成项目最终交付
python·opencv·webpack
碎光拾影2 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
CCPC不拿奖不改名3 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
Marst Code3 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
databook3 小时前
当散点图不够用时:用 t-SNE 可视化多维数据
python·数据分析·数据可视化
Miao121313 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
CRMEB系统商城5 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源