标准化列:总和为 1

tj *_*ge 3 python numpy pandas

我有一个数据框:

  Time   Weight 
   1       4 
   2       2
   3       1
   4       7
Run Code Online (Sandbox Code Playgroud)

如何标准化权重列,使权重列中的值之和等于 1 ?

The*_*Guy 9

您可以将该Weight列中的每个值除以该列sum中的所有值,Weight

df['Weight']/df['Weight'].sum()

0    0.285714
1    0.142857
2    0.071429
3    0.500000
Name: Weight, dtype: float64
Run Code Online (Sandbox Code Playgroud)