You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不同形状的两个pandas DataFrames按索引匹配行相减实现问题

解决方案

核心思路是利用pandas的广播运算规则,指定按行索引对齐进行减法操作,避免默认列对齐导致的空值问题。

操作代码

# 若你的df2是单列DataFrame,提取第一列为Series后按行方向和df1做减法即可
result = df1.sub(df2.iloc[:, 0], axis=0)

代码说明

  • df2.iloc[:, 0]会提取df2的第一列作为Series,满足广播运算的结构要求
  • axis=0指定运算按行索引对齐,会将df2的单行值自动广播到df1对应行的所有列执行减法,完全符合需求

输出结果验证

运行代码后得到的result结构如下,和预期输出完全一致:

col1  col2  col3  col4  col5
AA                              
a    -9    -8    -7    -6    -5
b   -18   -18   -17   -16   -15

如果你不想修改df2的结构,也可以先把df2的列名重命名为和df1的列名完全一致再直接相减,但上述方法是最高效的实现方式。

内容的提问来源于stack exchange,提问作者nani python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:48:04