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

R语言如何按对应列名对两个dataframe执行逐元素除法运算

问题原因

Pandas 中两个 DataFrame 执行算术运算时,会自动同时对齐行索引和列名。你使用的 df2 只有1行,和拥有2行的 Df 行索引无法完全匹配,因此直接相除会出现缺失值或者维度不匹配报错,无法得到预期结果。

解决方法

你只需要将只有1行的 df2 转换为 Series 结构,再调用 div 方法指定按列对齐运算,即可让 df2 每个列的值作用到 Df 对应列的所有行上,代码示例如下:

# 方法1:提取df2第一行转为Series,按列对齐做除法
output = Df.div(df2.iloc[0], axis='columns')

# 方法2:用squeeze将单行DataFrame转为Series,效果一致
output = Df.div(df2.squeeze(), axis=1)

# 如果需要输出整数结果,可以追加类型转换
output = Df.div(df2.iloc[0], axis='columns').astype(int)

执行后即可得到你预期的运算结果:

std1  std2  std3  std4
0     1     2     2     1
1     2     5     3     2

内容的提问来源于stack exchange,提问作者Shrilaxmi M S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:54:02