从列表中查找百分比

时间:2019-07-27 02:38:04

标签: python arrays numpy spyder

我有两个使用zip合并的列表,我需要找到这些变量之一的百分比。

我已经压缩了这两个列表,所以正确的值被关联了。接下来,我需要选择一个特定的变量,给它一个名称,然后找到它的百分比。

In: np.asarray((unique_elements, counts_elements))
Out: 
array([[     0,      1,      2,      3,      4,      5,      6],
       [ 84430,  23984, 107355,  91459,  80237, 179391,  69367]])
geologyzip = zip(unique_elements, counts_elements)

geologytotal=np.sum(geologyzip)

我不知道最后一点是否正确,但是我需要对这些值求和,并找到#4的百分比,我还需要将其与麦迪逊这个名字联系起来

我需要说madison = x%,但我不确定从这里去哪里。

2 个答案:

答案 0 :(得分:0)

您可以在这里查看为什么numpy是强大的单线源。

import numpy as np
unique_elements, counts_elements = np.array([[     0,      1,      2,      3,      4,      5,      6],
                                         [ 84430,  23984, 107355,  91459,  80237, 179391,  69367]])  


value = 4
percent = counts_elements[unique_elements==value].sum()/counts_elements.sum()*100.0

这表示counts_elements中与unique_elements相对应的所有元素等于您指定的value,然后将其除以总数counts_elements.sum()。这有点矫over过正。您可以研究它找出原因。

答案 1 :(得分:-1)

遍历列表。对于每个增量,添加列表项以求和。
循环后,找到百分比。

def findPercentage(sum, value):
    # *100 converts to percentage.
    return (value/sum) * 100

percent = findPercentage(geologytotal, counts_element[4])

print("madison = %d%" % percent)