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

如何使用Pandas处理关联的inputs与coef DataFrame 实现Excel VLOOKUP等效逻辑

实现思路与代码示例

核心问题在于coef表是宽表结构,关联键(Indicator的取值)作为列名存在,无法直接和inputs的Indicator字段做关联,所以需要先做表结构转换,再执行关联计算,具体步骤如下:

步骤1:将coef宽表转为长表

使用pd.melt方法把coef的Indicator相关列转为行,生成可直接关联的长表结构:

# 宽表转长表,KeyCoef保留为行主键,其他列转为Indicator字段,对应值转为系数
coef_long = coef.melt(
    id_vars='KeyCoef',
    var_name='Indicator',
    value_name='Coefficient'
)

步骤2:关联两个表

以Indicator为关联键,左连接inputs和转换后的coef_long表:

merged_df = inputs.merge(coef_long, on='Indicator', how='left')

步骤3:计算加权值

将inputs中C1~C6的数值分别乘上对应系数,得到每个指标的加权贡献:

c_columns = ['C1', 'C2', 'C3', 'C4', 'C5', 'C6']
for col in c_columns:
    merged_df[f'weighted_{col}'] = merged_df[col] * merged_df['Coefficient']

步骤4:分组聚合得到最终结果

按inputs的Key字段和coef的KeyCoef字段分组,对所有加权列求和,得到每个Key对应的各系数组计算结果:

result = merged_df.groupby(
    ['Key', 'KeyCoef'], as_index=False
)[[f'weighted_{col}' for col in c_columns]].sum()

如果需要调整计算逻辑(比如按不同维度求和、保留其他字段),修改分组字段或者聚合规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:48:00