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

如何基于pandas参考关联表按指定向量生成对应维度动态矩阵

实现方案

你要的效果可以直接通过pandas原生的标签索引功能一步实现,无需手动写循环或map逻辑,天然支持动态长度的向量输入:

import pandas as pd

# 参考关联表
corr = pd.DataFrame({'i':['a','b'],'a':[.1,.2],'b':[.2,.1]}).set_index('i')
# 向量数据
vectors = pd.DataFrame({'val':['a','b','a','a','b']})

# 核心生成逻辑:直接按向量值做行、列标签索引即可输出对应维度的矩阵
val_seq = vectors['val']
result_df = corr.loc[val_seq, val_seq]
# 如果需要纯numpy数组格式的结果,再加.values即可:result_arr = result_df.values

逻辑说明

目标矩阵第i行第j列的取值,本质是向量第i个元素和第j个元素在关联表中的交叉对应值。pandas的loc索引支持直接传入标签序列作为行、列筛选条件,会自动按照传入序列的顺序匹配关联表的行和列,返回和向量长度一致的N×N矩阵,无论向量长度怎么变都不需要修改代码逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:15:03