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

如何基于两个同索引的Pandas DataFrame高效生成指定规则的Series?

嘿,这事儿不难,用Pandas的向量化操作就能高效搞定,完全不用写低效的循环!

具体步骤

首先得确保你已经导入了pandas库:

import pandas as pd

先把你的两个DataFrame定义好:

a = pd.DataFrame([5, 11], columns=['A'], index=[1, 2])
b = pd.DataFrame([2, 3], columns=['B'], index=[1, 2])

接下来一行代码就能算出目标Series C,完全贴合你的计算公式:

C = (a['A'] - a.index) / b['B']

运行后你会得到想要的结果:

1    2.0
2    3.0
dtype: float64
为什么这么高效?
  • a['A'] 会把DataFrame里的A列提取成Series,a.index 获取到对应的索引值,Pandas的向量化减法会自动逐元素计算每个A值减去它对应的索引,比手动循环快得多。
  • 然后直接除以 b['B'] 提取的Series,因为两个Series的索引完全匹配,Pandas会自动按索引对齐做逐元素除法,根本不用操心索引对应问题。

另外你提到原问题标题是Series但实际用了DataFrame,这里的处理完全没问题——我们提取的列本身就是Series,最终计算结果也是符合要求的Series哦。

内容的提问来源于stack exchange,提问作者Markus Löffler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:40:23