728x90
반응형
파이썬으로 다양한 분석을 할 수 있다는 사실은 널리 알려져 있다. 그렇다면 로또 당첨번호 분석도 할 수 있지 않을까 싶어서 한번 구현해 보았다.
파이썬으로 로또 당첨번호 분석 및 예측해 보기
Contents
1. 파이썬 설치
2. 파이썬 패키지 설치
3. 로또 역대 당첨번호 가져오기
4. 분석 코드 작성
5. 로또 당첨번호 분석 및 번호 예측
1. 파이썬 설치
파이썬은 공식 홈페이지에서 무료로 다운로드 및 설치할 수 있습니다.
- 아래 공식홈페이지에서 'Download Python' 버튼을 눌러 설치파일을 다운로드하고 실행합니다.
- 'Install Now'를 클릭하여 설치.
2. 파이썬 분석 패키지 설치
- 윈도우 키를 누르고 'cmd'를 입력하여 cmd 창을 실행.
- 다음 명령어를 입력하여 파이썬 패키지 설치.
pip install pandas numpy scipy
3. 로또 역대 당첨번호 가져오기
역대 로또 당첨번호는 동행복권 공식 홈페이지에서 다운로드할 수 있습니다.
- 아래 동행복권 홈페이지에 들어가서 회차별 당첨결과를 클릭합니다.
- 아래로 이동하여 1회부터로 변경하고 다운로드 버튼을 누릅니다.
- 엑셀을 열고 당첨번호 부분만 복사하여 새 파일에 붙여 넣고 저장합니다.(분석용으로 편집)
4. 분석 코드 작성
- 메모장을 실행하고 아래 코드를 입력합니다.
- 코드 입력 시 엑셀 파일 경로와 엑셀파일 명을 수정합니다.
- 파일 이름을 'getlotto.py'로 입력하고, 파일 형식을 '모든 파일'로 선택하고 저장합니다.
import pandas as pd
import numpy as np
from scipy.stats import chisquare
# 데이터 로드
df = pd.read_excel("C:\Dev\getLotto\lotto_20230628.xlsx")
# 각 번호의 빈도수 계산
counts = pd.Series(np.concatenate(df.values)).value_counts().sort_index()
# 카이제곱 검정 수행
expected = [len(df.values) * 6 / 45] * 45 # 가정: 모든 번호가 균등하게 나옴
result = chisquare(counts, f_exp=expected)
# 최종적으로 6개의 숫자 추천
frequent_numbers = counts.nlargest(6).index.tolist()
recommendation = np.random.choice(frequent_numbers, 6, replace=False)
print(f"Recommendation: {recommendation}")
5. 로또 당첨번호 분석 및 번호 예측
- 2번에서 처럼 cmd 창을 실행하고 cd 명령어로 파이썬 코드를 저장한 위치로 이동합니다.
- 파이썬 코드를 실행합니다.
python getlotto.py
파이썬 데이터 분석을 공부하면서 재미로 만들어 본 것이라 당연히 정확도 따지면 안 될 것이다. 로또 번호의 경우 동전 던지기처럼 결과를 전혀 예측할 수 없다. 이런 식으로 데이터 분석이 가능하다는 것 정도만 배워가면 좋을 듯하다.
반응형
'IT' 카테고리의 다른 글
파이썬으로 무료 PDF 파일 나누기 (0) | 2023.06.23 |
---|---|
파이썬으로 무료 PDF 파일 합치기 방법 (0) | 2023.06.22 |
CSV 파일 엑셀 한글 깨짐 해결 방법 (0) | 2023.06.03 |
MySQL MariaDB 온라인 백업 XtraBackup 활용 방법 (0) | 2023.05.30 |
오라클 User Migration을 위해 User 생성 스크립트 추출하는 방법 (0) | 2023.05.14 |
댓글