데이터/데이터 분석 6

[Python] 로또는 운일까 ? (로또 데이터 분석) - 1편. 로또 정보 수집하기

🔍 로또는 운일까 ? 최근에 나에게 안좋은 일들이 많이 생겼었다. 기분도 꿀꿀하고, 로또나 한장 사려고 편의점에 들어가서 구매를 했다. 그리고 토요일 밤에 집에 가는 길,아무 생각없이 결과를 확인해봤는데, 4등에 당첨이 된 것이다 !!! (내가 1/733 경쟁률을 뚫었다고 !? ) 버스를 타면서, 로또에 대해 분석해보고 싶은 생각이 들었고 집에 와서 데이터 분석을 위한 몇 개의 코드를 작성해 보았다. 1등에 당첨되려면, 대략 8,145,060,000 원을 쓰면 된다..?!(8억이 아니라 81억임 ...) 고작 이 데이터 분석으로  당첨될거라는 생각은 당연히 하지 않는다.다만,주어진 데이터로 재밌는 인사이트들을 추출 해보고자 한다. 각각의 독립적인 사건들로 만들어진 무의미한 데이터가 의미가 있을지를 탐구..

파이썬 판다스 (concat / merge)

📚 pandas concat / merge 함수 concat과 merge는 데이터 프레임들을 결합 할 때 자주 쓰는 판다스 함수이다. 매번 쓸 때마다 기억이 않나서 찾아본다... 이번에 최대한 깔끔하게 정리해서, 개념을 좀 더 확실히 해보려고 한다. 먼저 concat과 merge의 사전적 정의를 살펴보자 concatenate : 사슬같이 잇다, 연결시키다 merge : 합병하다, 병합하다, (서로 구분이 안되게) 어우러지다 두개 다 데이터 프레임을 합치는 것은 맞지만, concat은 주로 연결 시키는데 사용하고 merge는 합쳐서 어우러지게 한다고 생각하면 좋을 것 같다. 이제 예시를 한번 살펴보자. 💡 pd.concat import numpy as np import pandas as pd np.rand..

파이썬 판다스 (groupby / pivot_table)

groupby from sklearn.datasets import load_iris import pandas as pd import numpy as np iris = load_iris() df = pd.DataFrame(iris.data,columns=iris.feature_names) df["target"] = iris.target iris 데이터를 groupby 연습할 데이터로 써보자. df.groupby(by="petal width (cm)").count().head() 사용 가능한 집계 함수는 count / size / sum / mean / std / var / min / max 의 값들이 있다. df.groupby(["target","petal width (cm)"]).mean().head()..

T-test 정리

[T-test] 모집단의 분산이나 표준편차를 알지 못할 때, 모집단을 대표하는 표본을 추출한다.그리고 그 표본으로부터 분산과 표준편차를 추출하고 검정하는 방식이다.식을 통해 이해해보자면,  평균의 차이 / 표준 오차의 비율(표본 변화량)이라 보면된다.이렇게 t-value를 얻으면 평균차이의 크기를 알 수 있다.최종 결과는 p-value로 나타낸다.  그럼  p-value는 어떻게 나타낼까 ? 아까 구한 t 값을 가지고 집단의 숫자(자유도)와 원하는 p-value 기준에 따라 결정한다. p-value는 양쪽 극단값의 범위를 설정한다. (p-value가 작아질수록 주장에 대한 신뢰도가 올라간다.)일반적으로 p-value는 0.05(5%)이하면  그 통계를 신뢰 할 수 있다고판단한다. 이를 통해 통계적으로 유..

데이터 분석 이상치 처리 (Z-score,IQR)

이상치 처리 방법 제거 : 이상치를 제거하는 방법이다. 간단하지만 유효한 데이터일 경우 손실이 발생. 대체 : 이상치를 대체하는 방법이다. 평균, 중앙값, 최빈값 등으로 대체하여 사용. 범주화 : 연속형 변수를 구간별로 나누고 이상치를 특정 구간에 할당. 변환 : 이상치를 왜곡시키거나 조정한다. ex ) 로그 변환 이 포스터에 제거 방법에 대해 다룰 예정이다. 이상치 제거에는 여러 방법이 있는데 사분위수 방법과 Z-score 방법에 대해 알아보자. 1. 사분위수 방법 먼저 데이터를 오름차순으로 정렬한다. 그리고 25%,75%(Q1,Q3)에 해당하는 위치 값을 구한다. 그러면 IQR (IQR = Q3-Q1)의 값을 구할 수 있는데 여기에 가중치를 곱한 후 범위에 벗어나는 값을 이상치로 처리한다. 즉 , d..

파이썬 판다스 (시리즈/데이터프레임/인덱싱/멀티인덱싱)

이번 글은 이수안님 판다스 강의 정리 (예전에 정리한건데 게을러서 이제 정리...) https://www.youtube.com/watch?v=lG8pEwvYwCw 언제나 그렇듯 기본 라이브러리 호출 import numpy as np import pandas as pd Series(시리즈) [1] 시리즈 기본 시리즈는 데이터 구조 중 하나로, 1차원 배열 형태의 데이트를 나타내는 객체 => 이것들이 모이면 데이터 프레임(Data frame)이 된다 a = pd.Series([1,2,3,4,5]) a a.values, a.index 값은 1~5이고 인덱스는 0~4 [2] 시리즈 인덱스 바꾸기 b = pd.Series([1,2,3,4,5], index=["a","b","c","d","e"]) b b의 인덱스는..