You need to enable JavaScript to run this app. 如何将带TimeSeriesIndex的Series与另一Series相乘生成指定结构DataFrame
优惠活动
大模型
产品
解决方案
定价
更多

如何将带TimeSeriesIndex的Series与另一Series相乘生成指定结构DataFrame

实现两个Series外积生成目标DataFrame的解决方案

核心需求为计算两个一维Series的外积,最终输出形状为(x,y)的DataFrame,行索引继承ser1的TimeSeriesIndex,列名继承ser2的索引。

方案1:Pandas原生实现(无额外依赖)

利用pandas矩阵乘法广播机制实现,代码可读性更高:

import pandas as pd

# 示例数据
ser1 = pd.Series([100, 105, 110, 114, 89],index=pd.date_range(start='2021-01-01', end='2021-01-05', freq='D'), name='test')
ser2 = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

# 核心计算逻辑
result = ser1.to_frame() @ ser2.to_frame().T

方案2:Numpy实现(运算效率更高)

利用numpy的外积函数实现,适合大数据量场景:

import pandas as pd
import numpy as np

# 示例数据
ser1 = pd.Series([100, 105, 110, 114, 89],index=pd.date_range(start='2021-01-01', end='2021-01-05', freq='D'), name='test')
ser2 = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

# 核心计算逻辑
result = pd.DataFrame(np.outer(ser1, ser2), index=ser1.index, columns=ser2.index)

方案选择建议

  • 数据量较小、优先追求代码可维护性,选Pandas原生实现
  • 数据量较大、优先追求运算性能,选Numpy实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:42:03