我将尝试计算两个数据框中具有相同值的不同列之间的分数差异。
例如,给定两个数据框:
df1 = index, A, B, C, D, ID
0, 2, 1, 5, 4, -2
1, 1, 2, 2, 4, -1
2, 2, 4, 8, 8, 0
3, 1, 4, 6, 5, 1
df2 = index, A, B, C, D, ID
0, 2, 1, 2, 2, -3
1, 4, 3, 3, 2, -2
2, 6, 2, 4, 6, -1
3, 1, 4, 2, 4, 0
对于每一列(A-D),如果行具有相同的ID,我想要获得分数差异(即df3 ['A'] =(df1 ['A']-df2 ['A'])/ df1 ['A']
)。任一数据集中可能存在没有共同ID的行,这些行不应包含在 df3 中。
期望输出:
df3 = index, A, B, C, D, ID
0, -1, -2, 0.4, 0.5, -2
1, -5, 0, -1, -0.5, -1
2, 0.5, 0, 0.75, 0.5, 0
最终,我还想计算在 df3 中 A-D 列的每行的这些分数差的平方和(例如,对于所示示例为 32.72)。
df3.dropna().reset_index()
可以得到期望的输出。除此之外,+1。 - Erfan