根据总值中的价值比例拆分熊猫列

时间:2019-10-17 01:32:23

标签: python pandas

我正在尝试根据每一行对总数的贡献,从更大的列表中创建一个列表。 我希望列表中包含占总数40%的“前”行

每行对应总计的百分比。例如,第一个列表必须包含累积总计占“总计”的40%的行。 “总计”是列中所有行的总和。


list = [0.2, 0.25, 0.15, 0.1, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]

我想得到:

list1 = [0.2, 0.25, 0.15, 0.1]

因为列表1中的值是列表中的最大值,并且它们是构成列表40%的值。

如何编写python代码来做到这一点?

我不知道如何进行,我看过的所有资源都讲授如何基于固定值进行拆分,但是我对列表中各值之和的基于分类的贡献百分比一无所知。

我想知道是否有人对我可以使用什么功能或如何进行有一个想法。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

import math

list0

# Out[75]: [0.2, 0.25, 0.15, 0.1, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]

list1 = sorted(list0)[-(math.ceil(len(list0)*0.4)):]

list1

# Out[79]: [0.1, 0.15, 0.2, 0.25]
相关问题