[python] 로또 번호들의 평균값은 어떤 패턴을 보일까? (numpy 평균 함수)

이 글은 지극히 비전문적이며, 실험에 의한 주관적인 생각에 근거한 내용임을 알려드립니다.


우선 로또의 현재까지 당첨내역은 동행복권 사이트에서 엑셀 형태로 받을 수 있습니다. 엑셀파일에서 당첨번호만 CVS 파일로 추출하였습니다. 이 데이터를 활용하여 회차별 로또 번호들의 평균값은 어떤 형태를 띄고 있는지 알아 보겠습니다.


import csv
import json
import numpy as np
import matplotlib.pyplot as plt


###############################################################################
def convertLottoCSVFileToList(filepath):
    rows = []
    try:
        with open(filepath) as f:
            reader = csv.reader(f)            
            for row in reader:
                cols = []
                
                for number in row:
                    cols.append(number)
                
                rows.append(cols)
    except csv.Error as e:
        print(f"Error reading CSV file at line {reader.line}: {e}")
        exit(-1)
        
    return rows
###############################################################################


###############################################################################
def getAvgListOfNumberSet(originArray):
    lst = []
    for numberSet in originArray:
        lst.append(np.average(numberSet))
        
    return lst
###############################################################################


originList = convertLottoCSVFileToList("./lotto.csv")
originArray = np.array(originList, dtype=np.ubyte)
originAvgList = getAvgListOfNumberSet(originArray)

figure, axis = plt.subplots(2, constrained_layout = True)
axis[0].plot(originAvgList, "ro")
axis[1].hist(originAvgList, bins=255)
plt.show()


위 코드를 실행하면 아래와 같은 결과를 얻습니다.


회차별 로또 번호들의 평균값은 정규분포 형태를 띄는 것을 확인할 수 있습니다. 그리고 위 그래프에서 낮은 평균값은 작은 수들로 이루어진 당첨번호 의미하며, 높은 평균값은 큰 수로 이루어진 당첨번호를 의미합니다.


위 데이터를 활용하면, 랜덤으로 생성된 로또 번호가 정규분포상 가운데 지점을 많이 벗어난 번호 세트의 경우, 추첨번호에서 제외하는 것으로 응용이 가능할 것 같습니다.


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

공압 속도 제어: 미터인 vs 미터아웃

[PLC] 채터링 현상과 입력 필터

제너 다이오드에 저항을 연결하는 이유

[python] 파이썬 pyplot 2차원 그래프 샘플 코드

[PLC] 래더 다이어그램과 PLC

공압회로 기호

[PLC] PLC 입출력 타입 - 싱크 & 소스 (Sink & Source)

3선 결선식 센서의 타입 PNP, NPN