본문 바로가기
파이썬

파이썬 Python-목록의 가중치 평균

by º기록 2020. 11. 26.
반응형

답변 해 주셔서 감사합니다. 예, 가중 평균을 찾고있었습니다.

rate = [14.424, 14.421, 14.417, 14.413, 14.41]

amount = [3058.0, 8826.0, 56705.0, 30657.0, 12984.0]

하단 목록의 각 항목을 기준으로 상단 목록의 가중 평균을 원합니다.

따라서 첫 번째 하위 목록 항목이 작은 경우 (예 : 총 112,230 개에 비해 3,058 개), 첫 번째 상위 목록 항목은 상위 목록 평균에 영향을 덜 미칠 것입니다.

내가 시도한 것 중 일부는 다음과 같습니다. 그것은 나에게 옳게 보이는 대답을 제공하지만 내가 찾고있는 것을 따르는 지 확실하지 않습니다.

for g in range(len(rate)):
    rate[g] = rate[g] * (amount[g] / sum(amount))
rate = sum(rate)

편집하다: 다른 응답을 내 코드와 비교 한 후 가능한 한 짧게 유지하기 위해 우편 번호를 사용하기로 결정했습니다.

 

해결 방법

 

for g in range(len(rate)):
   rate[g] = rate[g] * amount[g] / sum(amount)
rate = sum(rate)

와 같다:

sum(rate[g] * amount[g] / sum(amount) for g in range(len(rate)))

다음과 동일합니다.

sum(rate[g] * amount[g] for g in range(len(rate))) / sum(amount)

다음과 동일합니다.

sum (x * y for x, y in zip (rate, amount)) / sum (amount)

결과:

14.415602815646439

 

참조 페이지 https://stackoverflow.com/questions/29330792

 

 

반응형

댓글