데이터 11

[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()..

[Python] 네이버 스토어 찜 크롤링 with requests _2탄

전에 1탄의 문제는 network에서 기록된 여러 개의 products 중 한 개의 products만 가져오는 것 였다. 이번 포스터에는 어떻게 한 페이지 안에 모든 찜을 가져오는 방법에 대해 소개하겠다. (1탄을 안 본 사람이 있다면 꼭 보고 오세용... 아니면 이해하기 힘듬 !) import requests cookies = { 'NNB': 'BZQEKFFD3ZGWG', 'ASID': '75100b1e000001840cfb852400000053', 'NV_WETR_LOCATION_RGN_M': '"MDUxMTAxMTg="', 'NaverSuggestUse': 'unuse%26use', 'autocomplete': 'use', 'NV_WETR_LAST_ACCESS_RGN_M': '"MDUxMTAxMTg..

데이터/크롤링 2023.12.06

[Python] 네이버 스토어 찜 크롤링 with requests _1탄

전편에 네이버 스토어 정보들을 크롤링하는 법에 대해 포스터를 썼다. (아직 selenium으로 크롤링하는 분 없길...) selenium은 동적으로 해서 뭐든 크롤링하지만, 해당 창에 들어가고 웹 로딩도 기다리고.... 이렇게 하면 시간이 저어엉 마아알 많이 든다. 나는 네이버 데이터들을 모으고 있는데 키워드만 약 5천 개다.... 그러면 5천 개의 웹페이지를 로딩해야 하는데 이건 진짜 아니다 ㅠㅠ ( 그래도 손으로 하는 것보단 나음) 암튼 말이 좀 길어졌는데 웬만한 스토어의 정보는 전에 포스트 방식으로 다 가져올 수 있는데 "찜" 이 자슥만 좀 귀찮게 되어있다. 그래서 오늘은 "찜" 개수를 어떻게 가져오는지 포스팅을 할 예정이다. 전에 했던 기본 베이스들이 필요하기 때문에 모르는 분들은 아래 포스트 먼..

데이터/크롤링 2023.12.05

네이버 크롤링 연결 제한 푸는법

크롤링할게 많아서 엄청하고 있는데... 하다 보니까 제한이 걸렸다 ㅠㅠ 처음에는 아이디만 바꾸면 되는 줄 알고 다른 네이버 아이디로 로그인했는데, 좀 되는 듯 보이다 다시 안된다;; 그래서 집 가서 다시 해보니 잘 된다!! 근데 문제는 또 돌리면 이런 에러가 뜬다 .... 아니 그러면 어떻게 하라구 !!! 물론 폰 핫스팟을 켜서 ip를 바꿔주면 되는데, 그것도 또 막히니까 ㅠㅠ 그래서 Expressvpn에서 Ip를 큰맘 먹고 구매하려는데.... 오이오이... 너무 비싼 거 아니냐구 그래서 이것저것 찾다가 꿀 사이트를 발견해서 짧게 소개하려고 한다. 두둥 탁! https://www.touchvpn.net/ Touch VPN Your real status: Unprotected IP: ISP: Locatio..

데이터/크롤링 2023.11.30

[Python] requests로 네이버 데이터랩 크롤링

학교에서 하는 프로젝트가 서서히 끝나가서, 이제 조금식 여유가 생기고 있다. 이제 다시 내 프로젝트에 집중을 하자 !! ( 문제는 했던 것들이 기억 안남...) 내 개인 프로젝트는 네이버 데이터들을 분석하는 것이다. 분석을 하려면 당연히 데이터가 필요하기때문에 자연스럽게 크롤링도 많이 하게된다. api로 가져 올 수 없는게 많아 네이버 데이터랩에서 크롤링을 하는중 ㅎㅁㅎ 예전에 데이터랩에서 카테고리별 top 500 keyword를 추출한 적 있었는데, 시간이 엄청 오래오래 걸린 기억이 있다 ㅠㅠ 아무래도 selenium 방식으로 하다보니 시간을 너무 많이 쓰게된다... 그리고 현재 지금, top 500 keyword를 업데이트 해야하는데 selenium으로 하면 정신 나갈거 같아 requsests 방식으..

데이터/크롤링 2023.11.10

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..

[Python] selenium 없이 스크롤 하는 법 (네이버쇼핑)

0 제모제 1 유아세탁세제 2 기저귀휴지통 3 카테킨 4 파우더통 ... 1607 잡화 1608 의류 1609 여성 1610 패션 1611 생활 이 keyword로 네이버 쇼핑에 검색 한 후 Top 100 정도의 가격을 구해 평균을 내보고 싶다. 가장 단순하게 시도를 먼저 해보자. tmp = "키보드" url = (" https://search.shopping.naver.com/search/all?frm=NVSCPRO&origQuery& " "pagingSize=80&" "&productSet=total&" f"query={tmp}&" "sort=rel&" "timestamp=&" "viewType=list") headers={'User-agent': 'Mozilla/5.0'} response = req..

데이터/크롤링 2023.10.15