python - 从参考表生成动态矩阵
问题描述
我有以下参考
corr = pd.DataFrame({'i':['a','b'],'a':[.1,.2],'b':[.2,.1]}).set_index('i')
我也有一些向量值。长度总是会改变,所以我只使用 6 来展示我想要实现的目标。
vectors = pd.DataFrame({'val':['a','b','a','a','b']})
我想使用这些值来生成一个 5x5 矩阵“X”,这样:
5x5 因为向量 len(vector) = 5
我能想到的最接近的是 map 函数,它只生成一列。
解决方案
DataFrame.reindex
两次,一次用于列,一次用于行:
out = corr.reindex(vectors['val']).reindex(vectors['val'], axis=1)
请注意,虽然受支持,但不建议使用重复的列名。例如out['a']
会返回一个数据框,而大多数情况下它会返回一个系列。
推荐阅读
- vuejs2 - 如何使用内部按钮创建自动完成建议,并且单击不会传播到自动完成中?
- typescript - Typescript 中的自定义排序
- ios - 使用 mailR 发送表情符号 - iPhone 邮件预览呈现问号 (iOS 12)
- python - 如何将烧瓶 RBAC 模型添加到现有的 SQLAlchemy 数据库
- outlook - 为草稿项目设置的单值扩展属性在发送时不可用
- vue.js - 无法弄清楚 vue-router 是如何工作的
- intellij-idea - 当程序在 IntelliJ 中运行时,为什么我会收到 SSLHandshakeException 作为 JAR?
- c# - Selecting Tuples from ILookup throws exception
- hadoop - 不允许用户冒充匿名 (state=08S01,code=0) org.apache.hadoop.security.authorize.AuthorizationException
- python - PyQt5中的Qscrollbar没有显示