Ответ 1
Что-то вроде этого должно работать:
>>> from pandas import DataFrame
>>>
>>> df = DataFrame({"A": [8,9,5,4], "B": [3,4,4,8], "C": [5,0,3,5], "D": [8,4,8,1]})
>>> df.max()
A 9
B 8
C 5
D 8
>>> (df * 1.0)/df.max()
A B C D
0 0.888889 0.375 1.0 1.000
1 1.000000 0.500 0.0 0.500
2 0.555556 0.500 0.6 1.000
3 0.444444 1.000 1.0 0.125
Обратите внимание, что я умножил df
на 1.0
, так что он больше не состоял из int
(.astype(float)
тоже работал бы), чтобы избежать целочисленного деления и результирующего DataFrame, полного 0s и 1s.