글

라벨이 파이썬인 게시물 표시

[파이썬 실습] 1등 로또 번호 확인하기 - urllib, html, BeautifulSoup

이미지
파이썬 실습 '로또 사이트 연결' 로또 사이트와 연결해서 회차 번호를 가져와 볼께요 타자 게임은 반복문(while문)을 사용합니다. 파이썬 urllib >>>>   ***** urllib : URL(Uniform Resource Locator)을 가져오기 위한 파이썬 모듈 ***** 01. 모듈 불러오기 import urllib.request import urllib.parse from bs4 import BeautifulSoup 02. 입력한 로또 회차 URL 확인하기 (링크) lotto_no = urllib.parse.quote_plus( input ( '로또 당첨번호 회차를 입력해주세요 :' )) win_result = int (lotto_no) url = f 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo= {win_result} ' html = urllib.request.urlopen(url).read() soup = BeautifulSoup(html, 'html.parser' ) print (url) 03. 입력한 로또 회차 당첨 번호 확인하기 lotto_no = urllib.parse.quote_plus( input ( '로또 당첨번호 회차를 입력해주세요:' )) win_result = int (lotto_no) url = f 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo= {win_result} ' html = urllib.request.urlopen(url).read() soup = BeautifulSoup(html, 'html.parser' ) numWin = soup.select( '.num.win,.num.bonus' ) lotto = [] for i in numWin:...

[ 데이터 시각화] 자전거 대여 서비스 데이터 보기 - seaborn, matplotlib

이미지
혼자하는 데이터 생각 공유 자전거 대여 서비스 현황 데이터 출처   Bike Sharing Demand . . 01. 데이터 확인 시간 데이터 기준으로 총  10886 데이터가 12개의 항목으로 이루어져 있네요.  <  capital bikeshare 제공한 데이터 필드 > datetime  - 연도-월-일 시:분:초 season  - 1(봄), 2(여름), 3(가을), 4(겨울) holiday  - 1(공휴일), 0 (공휴일 아님) workingday  - 1(근무일), 0 (근무일 아님) weather  - 1 (맑음 & 구름조금), 2 (안개 + 구름많음), 3 (눈,비 조금 + 천둥), 4 (많은 눈 + 우박) temp  - 온도 (섭씨) atemp  - 체감 온도 (섭씨) humidity  - 습도 windspeed  - 풍속 casual  - 비회원 대여량 registered  - 회원 대여량 count  - 총 대여량 ( 회원 + 비회원 ) . . 02 . 날짜 기준으로 대여량 날짜 기준 총 대여량으론 2011년 대비 2012 대여량이 65% 정도로 크게 증가함을 확인 할 수 있고, 시간대별 데이터가 분석 할 필요가 있어 보인다. - 각 연도별 월, 계절별 데이터는 2011년도 대비 2012년 성장률이 커서 가중치를 두긴 애매하다.  분당 대여량, 초당 대여량 데이터는 확인 할 필요가 없는 결과 값이었다. . . 03. 시간대별 평일과 주말 대여량 시간대별 평일과 주말 대여량을 보면 평일은 출퇴근 시간 , 주말은 낮 시간 에 대여량이 많은 것으로 보인다. . . 04. 시간대별 요일 대여량 시간대별 요일 대여량은 위의 평일 주말 대여량과 크게 달라 보이지 않는다. - 다만 금요일 대여량이 낮 시간부터 저녁 시간까지 약간의 차이가 있는데 금요일 오후부터 주말의 시작으로 생각...

[파이썬 실습] 랜덤 타자 게임 만들기 - while, random, time

이미지
파이썬 실습 '타자 게임' 따라 쓰는 타자 게임을 만들어 보겠습니다. 타자 게임은 반복문(while문)을 사용합니다. 파이썬 while문 >>>>   ***** while문의 기본 구조 while <조건문>: <수행할 문장 1 > <수행할 문장 2 > <수행할 문장 3 > ... ***** 01. 모듈 불러오기 import random import time 02. 문제 리스트 만들기 word_list = [ '강아지' , '고양이' , '코끼리' , '원숭이' , '하마' , '기린' ] num = 1 03. 랜덤하게 나오는 단어를 얼마나 빨리 맞췄는지 확인 print ( '[타자게임] 준비되었다면 엔터를 쳐주세요!' ) input () start = time.time() word = random.choice(word_list) while num <= 3 : print ( "*문제" ,num) print (word) input_word = input () if word == input_word: print ( "통과!" + "\n" ) num = num + 1 word = random.choice(word_list) else : print ( "잘못 입력하셨습니다. 정확하게 입력해 주세요!" + "\n" ) end = time.time() total_time = end - start total_time = format (total_time, ".2f" ) print ( "타자시간:" , t...

[파이썬 실습] 1등 당첨! 로또 번호 추출하기 - for, random, range

이미지
파이썬 실습 '로또 번호' 1등 당첨! 로또 번호를 만들어 보겠습니다. 로또 번호는 반복문(for문)을 사용합니다. 파이썬 for문 >>>>   ***** for문의 기본 구조 for  변수  in  리스트 (또는 튜플, 문자열):       수행할 문장1      수행할 문장2      ... ***** 01. 기본 num = 0 lotto = [] for i in range ( 6 ): num = random.randint( 1 , 45 ) lotto.append(num) print (lotto) 02. 짧게 print (random.sample( range ( 1 , 46 ), 6 )) ex) print (random.choice(word)) # 리스트에서 랜덤으로 1개 추출 print (random.sample(word, 2 )) # 리스트에서 랜덤으로 2개 추출 print (random.randint( 1 , 50 )) # 1에서 50 사이에 수를 랜덤으로 1개 추출

[파이썬 실습] 파이썬 구구단 만들기 - for, range

이미지
  파이썬 실습 '구구단' 구구단을 만들어 보겠습니다. 구구단은 반복문(for문)을 사용합니다. 파이썬 for문 >>>>   ***** for문의 기본 구조 for  변수  in  리스트 (또는 튜플, 문자열):       수행할 문장1      수행할 문장2      ... ***** 01. 2단 출력하기 for i in range ( 1 , 10 ): print ( 2 , "*" , i, "=" , 2 *i) 02. 2단 출력하기 for table in range ( 2 , 10 ): print (table, "단" ) for num in range ( 1 , 10 ): print (table, "*" , num, "=" , table*num) print () 03. 원하는 구구단 출력하기 num = input ( "구구단을 입력해주세요 : " ) print (num, "단을 출력합니다" ) i = int (num) for num in range ( 1 , 10 ): print (i, "*" , num, "=" , i*num) 구구단 만들기 실습 보기

[python] 12. 파이썬 이미지 정보 확인 및 조절하기

이미지
 01. 패키지 !  pip install opencv-python # 이미지 관련 패키지 opencv 설치 from  PIL  import  Image # 다양한 이미지 파일 형식 지원 및 이미지 처리와 그래픽 기능을 제공 import  glob # 대용량 이미지 사용에 용이하다 (폴더 안 파일을 모두 가져올때 사용) from  matplotlib  import  pyplot  as  plt # 이미지 및 그래프 보여줄 때 사용 02. 이미지 정보 확인 image = Image.open('data.jpg')  # 이미지 확인 image.size  #  이미지 사이즈 확인 image.width #  이미지 가로 사이즈 확인  image.height #  이미지 세로 사이즈 확인  img_file = glob.glob("img/*.jpg") print(len(img_file)) Image.open(img_file[3]) # 이미지  파일 변수 안에 이미지 폴더 안에 모든 이미지를 불러옴 # 이미지 총 갯수를 보여주고, 그 중에 세번째 파일을 보여줌 03. 이미지 수정 image.resize((600, 480), Image.ANTIALIAS)  # 이미지 사이즈 강제로 조절 # 강제로 조절시 이미지 깨짐 방지 Image.ANTIALIAS  rario = 0.7 width, height = round(image.width * rario), round(image.height * rario)  image.resize((width, height), Image.ANTIALIAS) # 비중을 70%로 줄이고, 그 값을 round 반올림해서 깨지지 않게보여줌 # 이미지 비율 그대로 확대 및 축소 가능 image.crop((0, 0 ,1000, 600)) # 특정 위치만 보여줌. 왼쪽 ...

[python] 11. 파이썬 데이터 만들기

이미지
  01. 데이터프레임 만드는 방법 1 store = [['2020-04-16', 500, 'candy'], ['2020-04-17', 700, 'jelly'], ['2020-04-18', 800, 'chocolate']] # 데이터 내용 입력 pd.DataFrame (transaction, columns = ["date", 'price', 'name']) # 데이터를 판다스의 DataFrame으로 변환 후 컬럼명을 추가 02. 데이터프레임 만드는 방법 2 store = { 'date': ['2020-04-16', '2020-04-17', '2020-04-18'], 'price': [500, 700, 800], 'name': ['candy', 'jelly', 'chocolate']} # 데이터 내용 입력 pd.DataFrame (store) # 데이터를 판다스의 DataFrame으로 변환 03. 데이터프레임 만드는 방법 3 store = [ {'date': '2020-04-16', 'price': 500, 'name': 'candy'}, {'date': '2020-04-17', 'price': 700, 'name': 'jelly'}, {'date': '2020-04-18', 'price': 800, 'name': 'chocolate'}] # 데이터 내용 입력 pd.DataFrame (store) # 데이터를 판다스의 DataFrame으로 변환 위 의 3가지 방법의 결과는 같다. 04. 데이터프...

[python] 10. 파이썬 데이터 변경 및 분리하기

이미지
01. 데이터 변경하기 data["지역"] = data["지역"].replace("서울특별시", "서울") # 지역 컬럼에서 서울특별시 값을 서울로 변경 data["지역"] = data["지역"].str.replace("서울|경기", "수도권") # 지역 컬럼에서 서울, 경기 데이터를 포험하고 있으면 수도권으로 변경 data=data.astype('float') # Series나 DataFrame의 데이터 타입을 변환 data["Age(clean)"] = data["Age"].replace(-1, np.nan) #  Age(clean) 컬럼 추가 후 Age 컬럼 중 값이 -1이면 NaN으로 변경 data.loc[data["Age"] < 0, "Age(clean)"] = np.nan # Age(clean) 컬럼 추가 후 Age 컬럼 중 값이 0보다 작을 때 값을 NaN으로 변경 02. 데이터 분리하기 data["지역번호"] = data["지역"].replace("서울","02") .replace("경기","031") # 지역번호 컬럼 추가 후 지역 컬럼 데이터에서 서울은 02로 경기는 031로 입력 (그외엔 NaN) data.loc[data["지역"].str.contains("서울"), "지역번호"] = "02" data.loc[data["지역"].str.contains("경기"), "지역번호"] = "031" # 지역번호 컬럼 추가 후 지역 컬럼 데이터에서 서울은 02로 경기는 031...

[python] 9. 파이썬 데이터 컬럼 추가하기

이미지
01. 데이터 컬럼 추가하기 data["지역_정리"]=data["지역"] # 지역_정리 컬럼을 추가하고 지역 컬럼 데이터 복사  data["지역"]="서울" # 지역 컬럼을 추가하고 서울 입력 data["지역"] = ["서울", "경기", "충남", "충북", "서울", "충남", "경남", "경기"] # 지역 컬럼을 추가하고 리스트 내용 입력 ( 행의 갯수와 리스트 갯수가 같아야함 ) 02. 데이터 확인 후 컬럼 추가 data["서울"] = data["지역"] == "서울특별시" # 서울 컬럼을 추가 후 지역 컬럼이 서울특별시이면 True,  아니면  False 입력 data["비만"] = data["몸무게"] >= 75 # 비만 컬럼을 추가 후 몸무게 컬럼이 75 이상이면 True, 아니면 False 입력 data.loc[data["몸무게"] >= 75, "상태"]="비만" # 상태 컬럼을 추가 후 몸무게 컬럼이 75 이상이면 비만 입력 (기존에 상태 컬럼이 있으면 값이 추가 변경됨) data.loc[(data["몸무게"] > 50) & (data["몸무게"] < 75), "상태"] = "보통" # 상태 컬럼을 추가 후 몸무게가 51이상 75미만인 데이터에 보통 입력 data["다이어트"]=data["처음몸무게"]-data["현재몸무게"] # 다이어트 컬럼을 추가하고 처음몸무게에서 현재몸무게를 뺀 값을 입력 data["몸무게_정...

[python] 8. 파이썬 필요한 데이터만 사용하기

이미지
01.  전체 데이터에서 사용할 데이터가 적은 경우 new_columns = ['A1', 'A2', 'A3'] data1 = data[new_columns].copy() # new_columns라는 이름의 리스트를 생성 # data 데이터에서 new_columns 컬럼만을 추출 후 사본으로 복사한 뒤 data1라는 변수에 할당 (복사해서 사용하는게 중요) 02.  전체 데이터에서 삭제할 컬럼이 적은 경우 data.drop(columns=['Name'], inplace= True ) # data 데이터에서  Name 컬럼 삭제 (nplace=True 사용시 데이터가 바로 바뀜) unnessery_columns = ['A1', 'A2', 'A3'] data1 = data.drop(unnessery_columns, axis = 1).copy() # unnessery_columns라는 이름의 리스트를 생성 # drop 함수를 활용하여 unnessery_columns에 명시한 컬럼들을 전부 버린 후 사본으로 복사한 뒤 data1라는 변수에 할당 (옵션 axis = 0  row 버림 / axis = 1  column 버림)  03. 데이터 컬럼명 변경 rename_columns = ['A_1', 'A_2', 'A_3'] data1.columns = rename_columns # new_columns라는 이름의 리스트에 컬럼명을 수정 # data1 변수에 들어간 데이터의 컬럼명을 위에 명시한대로 변경됨 04. 데이터 컬럼 순서 변경 oredered_columns = ['A_3', 'A_2', 'A_1'] data1 = data1[oredered_columns] # oreder_columns라는 이름의 변수에 컬럼명 리스트를 사용 # data1 데이터에서 위 컬럼 순서대로 다시 컬럼을 검색 ...

[python] 7. 파이썬 필요한 데이터만 확인 또는 조건에 맞는 데이터 확인하기

이미지
  01. 필요한 데이터만 확인하기 data[data["지역"] == "서울"] # 지역 컬럼에서 서울이 있는 데이터만 보여줌 data[data["지역"] .isnull()] # 지역 컬럼에서 데이터가 없는 데이터만 보여줌 data[data["지역"].notnull()] # 지역 컬럼에서 데이터가 있는 데이터만 보여줌 data[data["지역"].str.contains("서울")] # 지역 컬럼에 서울이란 단어가 포함되어 있는 데이터만 보여줌 data[data["지역"].str.startswith("서울")] # 지역 컬럼에 서울이란 단어가 포함되어 있는 데이터만 보여줌 data.reindex([1,3,7]) # 데이터의 1번 3번 7번 행만 보여줌 ( 0번째 행부터 있음 ) data[data["date"]=='2020-04-20'] # 해당 날짜의 데이터만 보여줌 data[data.duplicated (subset='date')] # 데이트 컬럼의 중복된 값 중 마지막 값을 보여줌 data[data.duplicated (subset='date', keep=False)] # 데이트 컬럼의 중복된 값들을 모두 보여줌 02. 조건 1개 이상 데이터 확인 data.loc[[1,3,7], ["Name", "Age"]] # 데이터의 1번 3번 7번 행에서 "Name", "Age" 컬럼 보여줌 data.loc[data["지역"] == "서울", "Age" ] # 지역 컬럼에 서울이 있는 데이터가 인덱스가 되고, 서울 데이터가 있는  "Age" 컬럼 보여줌 data[data["지역"].isin(["서울...

[python] 6. 파이썬 데이터 간단히 확인하기

이미지
  01. 데이터 간단히 확인 data.shape    # 행과 열의 갯수 확인 data.head()    #  데이터의 상위 5개의 행을 보여줌 data["Name"].head()    #  선택한 컬럼의 상위 5개의 행을 보여줌 data[["Name", "Age"]].head()    #  선택한 컬럼들의 상위 5개의 행을 보여줌 data.tail(1)    #  데이터의 하위 1개를 보여줌 (() 안에 숫자만큼 보여줌) data.info    #  전체 데이터를 그대로 나열 data.info()    #  전체 데이터 내용을 컬럼별로 보여줌 (데이터 갯수, 데이터 타입 등) data.dtypes    #  데이터 타입 확인 (int:정수형/float:실수형/str:문자형=object) data.index    #  인덱스값 확인 data.columns    #  컬럼값 확인 data.values    #  각 행을 기준으로 나열 02. 데이터 상세 확인 data["지역"].unique()    #  지역 컬럼 데이터의 종류 확인 data["지역"].nunique()    #  지역 컬럼 데이터 종류의 총 갯수 확인 data["지역"].value_counts()    #  지역 컬럼 데이터의 종류별로 갯수 확인 data["지역"].value_counts(normalize=True)    #  지역 컬럼 데이터의 종류별 비율 확인 02. 데이터 수치 확인 data.count()    #  각 컬럼의 데이터 NaN이 아닌 값의 갯수...