我有一个包含四列的数据框,并且只想将总和小于 0.9 的每行的浮点数乘以相同的数量,直到每行的总和等于 0.9。不应触摸总和已经高于 0.9 的行。
df = pd.DataFrame({'A':[0.03, 0.0, 0.4],
'B': [0.1234, 0.4, 0.333],
'C': [0.5, 0.4, 0.0333],
'D': [0.8, 0.2, 0.2]})
原始数据框:
A B C D
0 0.03 0.1234 0.5000 0.8
1 0.00 0.4000 0.4000 0.2
2 0.40 0.3330 0.0333 0.2
列总和:
A: 0.43
B: 0.7564
C: 0.9333
D: 1.2
结果:将列总和低于 0.9 的单元格相乘,使得每列的所有三个单元格的总和为 0.9。重要的是,为 0 的单元格将保持为 0,这不应该被触及。因此,在这种情况下,必须调整 A、B 和 C 列。