teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問が分かりにくかったため変更。

2017/11/16 13:03

投稿

jaja
jaja

スコア11

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  ###前提・実現したいこと
2
- 下記のような配列があり、のn目までの加重平均を取りたいです。
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目というのはamountの上位n人目という意味で、amountの左から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