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

Pandas如何将Series的每个元素与DataFrame对应列的每个元素相乘

实现方案

你需要的矩阵逐列匹配索引相乘的运算,pandas内置的广播机制可以直接实现,不需要手动将Series复制扩展为DataFrame。运算时pandas会自动对齐Series的索引和DataFrame的列名,逐列完成元素级相乘。

代码实现

import pandas as pd

# 初始化输入数据
series = pd.Series([0,10,0,100,1], index=list('abcde'))
df = pd.DataFrame([[0.5,0.4,0.2,0.7,0.8],
                   [0.4,0.5,0.1,0.1,0.5],
                   [0.1,0.9,0.8,0.3,0.8]
                  ], columns=list('abcde'))

# 直接执行乘法运算即可得到目标结果
result = df * series

运算结果验证

得到的result输出如下,第一列a的取值为[0, 0, 0],完全符合你给出的计算规则:

abcde
040700.8
050100.5
090300.8

Numpy实现版本

如果需要用numpy完成同样运算,可以用如下代码:

import numpy as np

series_arr = series.values
df_arr = df.values
result_arr = df_arr * series_arr

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:15:03