質問編集履歴
1
質問が分かりにくかったため変更。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
-
下記のような配列があり、
|
2
|
+
下記のような配列があり、amountの上位n人目までの加重平均を取りたいです。
|
3
|
+
10人目までの加重平均を取りたい場合は例の配列で言うと(500*3+400*7)/10ということをしたいです。
|
3
4
|
また、scoreとamountはHTTPリクエストから返ってくる数字を整形したものなのでリクエスト毎に値が違います。
|
4
5
|
下記の配列は一例ですが、どのような値が返ってきてもn番目までを加重平均の取れるようにしたいです。
|
5
6
|
|
@@ -9,9 +10,8 @@
|
|
9
10
|
amount = [3, 8, 3, 5, 10, 3, 1]#人数
|
10
11
|
```
|
11
12
|
|
12
|
-
下記のようにすれば、全体の加重平均は取れるのですが、n
|
13
|
+
下記のようにすれば、全体の加重平均は取れるのですが、n人目までの加重平均を取り方が分からず困っています。
|
13
|
-
n
|
14
|
+
n人目というのはamountの上位n人目という意味で、amountの左から上位n人までのことです。
|
14
|
-
10人目までの加重平均を取りたい場合は例の配列で言うと(500*3+400*7)/10ということをしたいです。
|
15
15
|
|
16
16
|
```python
|
17
17
|
wt_avg = sum([s*a for s,a in zip(score,amount)]) / sum(amount)#234.84848484848484
|