【发布时间】:2020-09-07 14:09:12
【问题描述】:
给定一组 id,我需要从矩阵(时间 A 和 B)中获取每个 id 组合的值,并创建一个附加所有排列的值的数据框。
我已经能够通过创建排列数据框然后在查找和填充值时迭代它来做到这一点。但是我需要为大约 3000 个 id 而不是 3 个 id 执行此操作,而且我不知道如何有效地执行此操作。
我可以生成一个 Time A/B 数据框作为我的示例,而不必遍历 9000000* 行吗?我知道我不应该迭代数据框,但我还没有找到替代方案。
ID (3):
[15, 24, 38]
时间A矩阵(3x3):
id 15 24 38
15 0 1.8 1.7
24 1.2 0 1.9
38 1.5 1.3 0
时间B矩阵(3x3):
id 15 24 38
15 0 88.7 87.3
24 42.2 0 32.7
38 65.6 13.5 0
时间 A/B 数据帧(6):
id_start id_end A B
15 24 1.8 88.7
15 38 1.9 32.7
24 15 1.2 42.2
24 38 1.9 65.6
38 15 1.5 65.6
38 24 1.3 13.5
【问题讨论】:
-
@QuangHoang 正确,这是一个错字。
-
另一个注意事项,
TimeA是一个 numpy 数组,id只是为了说明目的吗?还是TimeA是由ids索引/列的数据框? -
@QuangHoang 第二个,这是熊猫的数据框。
标签: python pandas numpy dataframe matrix