Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리눅스
- 한빛미디어서평단
- 독후감
- Pandas
- 딥러닝
- Linux
- MATLAB
- Google Analytics
- 통계학
- 파이썬 시각화
- matplotlib
- Python
- Ga
- 매틀랩
- python visualization
- tensorflow
- 한빛미디어
- 티스토리
- Tistory
- SQL
- 월간결산
- MySQL
- 텐서플로
- 서평단
- 파이썬
- 시각화
- 서평
- 블로그
- Blog
- Visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[통계학] 산술평균, 기하평균, 조화평균 python, sql 로 구현하기 본문
0. 목표
- 산술평균, 기하평균, 조화평균 python, sql 로 구현하기
1. python 으로 구현하기
1) 산술평균 : 3.0
- 흔히 아는 평균, 상가평균
x = [1, 2, 3, 4, 5]
mean_x = sum(x) / len(x)
print(mean_x)
2) 기하평균 : 2.605171084697352
- 성장율, 이율의 평균을 구할 때 상용, 상승평균
x = [1, 2, 3, 4, 5]
result = 1
for i in x:
result = result * i
mean_x2 = result ** (1/len(x))
print(mean_x2)
3) 조화평균 : 2.18978102189781
- 속도나 전기저항의 평균값 계산에 이용
- 산술평균 >= 기하평균 >= 조화평균
x = [1, 2, 3, 4, 5]
result = 0
for i in x:
result += 1/i
mean_x3 = len(x) / result
print(mean_x3)
2. MySQL 로 구현
0) 데이터 생성
CREATE TABLE sql_study.avg_test
(
id int,
x int
);
INSERT INTO sql_study.avg_test(id, x) VALUES(1, 1);
INSERT INTO sql_study.avg_test(id, x) VALUES(2, 2);
INSERT INTO sql_study.avg_test(id, x) VALUES(3, 3);
INSERT INTO sql_study.avg_test(id, x) VALUES(4, 4);
INSERT INTO sql_study.avg_test(id, x) VALUES(5, 5);
1) 산술평균 : 3.0000
WITH mean AS (
SELECT
SUM(x) / COUNT(x) AS mean_x
FROM sql_study.avg_test
)
SELECT * FROM mean;
2) 기하평균 : 2.605171084697352
WITH RECURSIVE mean AS (
SELECT
id,
x
FROM sql_study.avg_test
WHERE 1 = 1
AND id = 1
UNION ALL
SELECT
t.id,
m.x * t.x AS x
FROM mean AS m
INNER JOIN sql_study.avg_test AS t
ON t.id = m.id + 1
),
final AS (
SELECT
POW(x, 1/(SELECT MAX(id) FROM mean)) AS mean_x3
FROM mean
WHERE 1 = 1
AND id = (SELECT MAX(id) FROM mean)
)
SELECT * FROM final;
3) 조화평균 : 2.1898
WITH mean AS (
SELECT
COUNT(x) / SUM(1/x) AS mean_x2
FROM sql_study.avg_test
)
SELECT * FROM mean;
2. 참고
'Science > 통계학' 카테고리의 다른 글
[통계학] 부트스트랩을 통한 신뢰구간 만들기 (0) | 2023.05.22 |
---|---|
[통계학] 중심극한정리 구현 (0) | 2023.05.22 |
[통계학] python, sql 로 t-test 구현 (1) | 2023.02.21 |
[통계학] z-score 를 python, MySQL 로 구현하기 (0) | 2023.02.15 |
[통계학] PYTHON 으로 t-test 구현하기 (0) | 2022.07.24 |
Comments