我有两个使用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)
我需要说madison = x%,但我不确定从这里去哪里。
答案 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)