【发布时间】:2016-05-01 14:29:26
【问题描述】:
我有两个数据框,第一个 df1 只包含一行:
A B C D E
0 5 8 9 5 0
第二个有多行,但列数相同:
D C E A B
0 5 0 3 3 7
1 9 3 5 2 4
2 7 6 8 8 1
3 6 7 7 8 1
4 5 9 8 9 4
5 3 0 3 5 0
6 2 3 8 1 3
7 3 3 7 0 1
8 9 9 0 4 7
9 3 2 7 2 0
在实际示例中,我有更多的列(超过 100 个)。两个数据框具有相同的列数和相同的列名,但列的顺序不同,如示例中所示。
我应该将两个数据帧相乘(matrix_like 乘法),除了我不能执行简单的df2.values * df1.values 因为列的排序方式不同,所以例如 df1 B 的第二列不能' t 在 df2 的第二列乘以,因为我们在 df2 的第二列找到 C 而不是 B,而列 B 是df2 中的第 5 列。
考虑到列名不是列索引,是否有简单和 Pythonic 的解决方案来乘以数据帧?
【问题讨论】:
标签: python pandas dataframe match matrix-multiplication