2017-01-04 104 views
1

百分比值I具有計算相對於2 numpy的陣列

arr1 = [ 1.32020091 1.22581158 1.1768816 1.1323538 1.14464306 1.08879001] 
arr2 = [ 1.59808117 1.75764704 1.92353157 2.06407594 2.09463725 2.08504829] 

2個numpy的陣列,其中arr1arr2是相對於一基部/參考實現速度起坐值。我現在要計算的是來自每個arr1arr2的加速比例(貢獻)。當然,我可以做以下

print arr1/(arr1+arr2)*100 
print arr2/(arr1+arr2)*100 

[ 45.2389752 41.0869309 37.95886341 35.42558086 35.33633869 34.30515063] 
[ 54.7610248 58.9130691 62.04113659 64.57441914 64.66366131 65.69484937] 

但是,這是不正確的,因爲如果你看看arr11.08879001)和arr22.08504829)的最後一個值,它說,1.08879001在速度非常微不足道的貢獻而幾乎是加速的兩倍來自2.08504829

如何計算每個數組的貢獻百分比?貢獻仍需加起來100

+0

那麼在你的例子中,數值上希望得到的結果是什麼? – NPE

+0

聽起來像你正在採取百分比的百分比 – e4c5

回答

3

如果arr1arr2代表的倍數,你只需要在做計算之前,減去每1

print (arr1 - 1)/(arr1 + arr2 - 2) * 100 
print (arr2 - 1)/(arr1 + arr2 - 2) * 100 

在你的榜樣,這給了7.6%和92.4 %爲最後兩個值。

+0

這是它。太棒了! –