- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
(代码示例是python)
假设我们有一个加起来为 100 的百分比列表:
mylist = [2.0, 7.0, 12.0, 35.0, 21.0, 23.0]
mylist 的一些值可以改变,其他的必须保持不变。
假设前 3 个 (2.0、7.0、12.0) 必须保持不变,而后三个 (35.0、21.0、23.0) 可能会更改。
fix = mylist[:3]
vari = mylist[3:]
目标是向 mylist 添加一个新项目,而 sum(mylist) 保持 100.0 和 vari
项目保持彼此的关系。为此,我们需要减去一个 CERTAIN
每个可变项目的百分比。示例:假设我们要将 4.0 添加到 mylist。
使用丑陋的近似值循环我发现我需要减去 ca。 5.0634%
每个变量项的百分比(一定百分比 = 5.0634):
adjusted =[]
for number in vari:
adjusted.append(number-(number*(5.0634/100.0)))
adjusted.extend(fix)
adjusted.append(4.0)
现在调整后包含我想要的结果。
最佳答案
这个怎么样?
def adjustAppend( v, n ):
weight= -n/sum(v)
return [ i+i*weight for i in v ] + [n]
给定一个数字列表 v,追加一个新数字 n。对现有数字进行加权以保持总和不变。
sum(v) == sum( v + [n] )
v 的每个元素 i 都必须通过 i 的某个函数进行归约,r(< em>i) 这样
sum(r(i)) == -n
或
sum( map( r, v ) ) == -n
因此,权重函数为-(n*i)/sum(v)
关于python - 保留百分比列表以加起来为 100% 的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412943/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!