【发布时间】:2019-06-07 21:36:33
【问题描述】:
我有两个数据框 df1 和 df2。两个数据框都有相同的索引 UNKNOWN,step1,step2,step3。
df1:
FE F1 F2
C_Step
UNKNOWN 0.336134 0.165289
step1 0.126050 0.371901
step2 0.201681 0.297521
step3 0.336134 0.165289
df2:
DT D1 D2
RE E1 E2 E3 E1 E2 E3
C_Step
UNKNOWN 0.571429 0.000 0.219780 0.0 0.5 0.000000
step1 0.428571 0.000 0.164835 1.0 0.0 0.555556
step2 0.000000 0.375 0.395604 0.0 0.0 0.444444
step3 0.000000 0.625 0.219780 0.0 0.5 0.000000
我想用 df2 对 df1 的 EACH 列进行乘法和加法运算。生成的数据帧 (df3) 的结构如下所示(数据帧 df1 的每一列与 df2 的每一列)。
1) 所有 UNKNOWN 索引都应该用零填充。
2) 其他索引:(df1 * df2 的 UNKNOWN 索引) + (df2 * df1 的 UNKNOWN 索引)
例如:在第一列中,
“未知”的值:0.00000
“step1”索引的值:(0.126050 * 0.571429) + (0.428571 * 0.336134) = 0.21609
“步骤 2”的值: (0.201681 * 0.571429) + (0.00000 * 0.336134) = 0.11525
第 3 步的值: (0.336134 * 0.571429) + (0.0000 * 0.336134) = 0.19208
所有其他多级列以此类推
df3:示例
DT D1 D2 \
RE E1 E2 E3 E1 E2 E3
FE F1 F2 F1 F2 F1 F2 F1 F2 F1 F2 F1
C_Step
UNKNOWN 0.00000 0 0 0 0 0 0 0.....
step1 0.21609 ...
step2 0.11525
step3 0.19208
DT
RE
FE F2
C_Step
UNKNOWN 0
step1
step2
step3
【问题讨论】:
标签: python-3.x pandas