python - 规范化列 : sum to 1

标签 python pandas numpy

我有一个数据框:

  Time   Weight 
   1       4 
   2       2
   3       1
   4       7

如何规范权重列,使权重列中的值之和等于 1?

最佳答案

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

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

0    0.285714
1    0.142857
2    0.071429
3    0.500000
Name: Weight, dtype: float64

关于python - 规范化列 : sum to 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67927245/

相关文章:

python - 按多列对数据框中的连续条目进行聚类/分组

python - 在 python-pptx 中使用循环创建多张幻灯片并将数据帧写入幻灯片

python - 将 Pandas Dataframe 单元格中的嵌套数组值拆分为多行

python - Django 使用一个 python session 响应来自不同浏览器的不同请求

python - Django ManyToMany 模板问题

python - Pandas hub_table 用 0 aggfunc ='sum' 替换 nan

python - 在 Python 中向量化 2D 数组的 1D 中值滤波器

python - save() 上的 Django Rest Framework 完整性错误,is_valid() 返回 true

python - 在Python中删除二维数组中的最后一个值

python - 分组依据 占总数的百分比