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

如何优雅实现索引与列名对齐的2D DataFrame与1D Series相乘

Pandas DataFrame与Series按列对齐乘法的优雅实现

问题场景

现有二维DataFrame df1(行索引为1-4,列名为A、B),以及以df1列名为索引的一维Series df2(存储对应列的系数),需要实现按列匹配的乘法运算,得到逐列缩放后的结果。

数据构造

先构造示例数据:

import pandas as pd

# 创建df1
df1 = pd.DataFrame(
    data={'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]},
    index=[1, 2, 3, 4]
)

# 创建df2(提取为Series,索引对应df1的列名)
df2 = pd.DataFrame(
    data={'Coef': [10, 100]},
    index=['A', 'B']
)['Coef']

核心解法

直接使用Pandas的mul()方法,通过指定axis='columns'参数实现按列名对齐的乘法:

df3 = df1.mul(df2, axis='columns')

结果展示

执行后得到的df3如下:

IndexAB
110500
220600
330700
440800

说明

mul()方法的axis='columns'参数指定以列名为对齐依据,让df1的每一列自动匹配df2中索引相同的系数并完成乘法,完全符合简洁优雅的实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:05:25