목록파이썬 (57)
개발은 처음이라 개발새발
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PXQ9M/btrFMDKrsbQ/z8LgBa6TXTBA6eF6OFaduk/img.png)
1, 2편에서는 선그래프에 대해 배웠다면 이제는 그래프의 다양한 종류에 대해 알아보겠습니다. df.plot 매소드를 통해서 여러 그래프를 만들 수 있는데요. 판다스에 내장된 그래프 종류는 아래와 같습니다. 선 그래프는 df.plot()을 통해서 바로 나올 수 있지만, 다른 그래프 종류들은 그렇지 않습니다. 다른 그래프를 그리기 위해서는 괄호 안에 " kind = " 옵션을 추가해 적용해야 합니다. 지난 시간에 사용한 남북한 발전전량합계 자료를 가지고 막대 그래프를 한번 그려보겠습니다. 코드는 아래와 같습니다. import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('./남북한발전전력량.xlsx', engine='openpyxl') #..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/C2F8K/btrFKHzN0ND/VxT2YsQZh7SdnPWPqI4MFk/img.png)
지난 1편에서(데이터프레임 그래프 그리기 - 1 https://data-so-hard.tistory.com/17) 그래프는 완성했지만 시각적으로 명확하게 데이터의 차이를 보여줬다고 볼순 없었는데요. 1편에서의 최종 코드와 그래프를 다시 한번 보겠습니다. import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('./남북한발전전력량.xlsx', engine='openpyxl') # 데이터프레임 변환 print(df) print('\n') df_ns = df.iloc[[0,5], 3:] # 남북한 연도별 발전전량 합계 추출 df_ns.index = ['South', 'North'] # 행 인덱스 변경 print('\n') print(df_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p40Q5/btrFNGfM5dw/j93KiBfLMtUxKokP9kGTW0/img.png)
판다스는 데이터 분석뿐만 아니라 그래프를 통해 데이터의 시각화 역시 가능한 라이브러리인대요. 이번 시간에는 "df.plot()" 을 통해 데이터프레임의 데이터를 시각화 그래프로 표현하는 법을 배우겠습니다. 그렇다면 우선 데이터를 먼저 불러와야 겠죠. 지난 판다스 데이터 분석 자료실을 소개드린 적이 있는데요. 그중 "남북한발전전량.xlsx"을 활용해보겠습니다. 자료실이 궁금하신 분들은 아래의 링크를 통해 확인해주세요. https://data-so-hard.tistory.com/15 파이썬 머신러닝 판다스 데이터 분석 자료실 오늘은 파이썬 교재 중 데이터 분석에 필요한 판다스에 대해 공부할 수 있는 교재와 예제를 다운 받을 수 있는 사이트를 추천드리려고 합니다. 우선 교재는 아래의 링크에 해당하는 교재입니다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/T0CI5/btrFoZA8hJp/WjtKBPcIJMXG4wMcGKsfQ0/img.jpg)
문제를 읽어보면 반복문을 통해 A+B의 값을 출력해야 하는 한다는 것과 반복문 전에 T라는 계수. 즉, T라는 변수를 만들어야 한다는 것을 알 수 있습니다. 그리고 예제 입력과 출력을 보게 되면 예제 입력 맨위에 5가 있고 이후에는 두개씩 짝지은 숫자들 5쌍이 보입니다. 그리고 예제 출력에는 두개씩 짝지은 숫자들의 더하기 결과물들이 보입니다. 이를 통해 알 수 있는 건 T는 반복문의 범위가 된다는 것을 알 수 있습니다. 코드를 한번 작성해보겠습니다. T = int(input()) for i in range(T): 이렇게 범위까지 만들었는데요. 반복문 안에 들어갈 것들은 이전에도 많이 다뤘던 변수 A,B를 한번에 input과 정수화를 시켜야 한다는 것, 이 두변수의 합을 프린트해야 한다는 것입니다. 결과입..
오늘은 파이썬 교재 중 데이터 분석에 필요한 판다스에 대해 공부할 수 있는 교재와 예제를 다운 받을 수 있는 사이트를 추천드리려고 합니다. 우선 교재는 아래의 링크에 해당하는 교재입니다. http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956748337 파이썬 머신러닝 판다스 데이터 분석 - 교보문고 너도 할 수 있어, 판다스!사회적으로 데이터 분석에 대한 관심이 커지면서 머신러닝에 입문하려는 사용자들도 늘어났다. 하지만 복잡하고 어려운 고급적인 수학과 통계학 이론 도서들로는 금방 www.kyobobook.co.kr 자료실은 아래 링크와 같습니다. http://infopub.co.kr/index.as..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DtLt5/btrEH4ioHk7/kzQDVJ4KfoTJlSe7dVRar1/img.jpg)
오븐 시계에 이어 풀어볼 문제는 조건문의 마지막 주사위 시계입니다. 문제를 읽다 보면 오븐 시계보다는 확실히 간단한 코드가 예상되는 문제입니다. 우선 적으로 3개의 주사위라고 하면 3개의 변수가 필요하는 걸 알 수 있습니다. 그리고 하단에는 1번부터 3번까지 조건이 나오는데요. 이 각각의 조건에 맞춰 조건문을 작성하면 결과가 충분히 나올 것으로 보입니다. 코드를 한번 짜보겠습니다. a, b, c = map(int, input().split()) if a == b == c: print(10000+a*1000) elif a==b: print(1000+a*100) elif a==c: print(1000+a*100) elif b==c: print(1000+b*100) else: print(100*max(a,b,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oizvh/btrEAAPh443/8rLZkFCGFI2wFIOIRvARZK/img.jpg)
이번에 풀어볼 문제는 오븐시계입니다. 문제를 쭉 읽어보면 예제입력1의 하단 숫자가 더해지는 것을 확인할 수 있는데요. 다음 예제2와 예제3을 보게 되면 파악할 수 있는 게 몇가지 있습니다. 1. 입력해야 하는 숫자는 3개다.( 처음에 세팅할 시(a), 분(b), 시간과 분에 더해질 타이머(timer)) 2. 타이머에 입력되는 숫자에 따라 시과 분에 더해질 방법을 정해야 한다. 3. 조건을 적용해야 할 것은 분이 60이 넘어갔을 때 / 시가 24가 넘어갔을 때를 정해야 한다. 이렇게 3가지를 파악해볼 수 있습니다. 그러면 3개의 숫자를 먼저 입력해야 하니 input 함수를 이용한 숫자 입력 코드를 먼저 짜보겠습니다. a, b = map(int, input().split()) timer = int(input..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lqrkO/btrD5RDCAGs/oIgRYT8wKeksDYLudkGiyk/img.jpg)
from selenium import webdriver import pandas as pd #open webdriver chrome_driver = './chromedriver.exe' driver = webdriver.Chrome(chrome_driver) df_bundes_team = pd.DataFrame(columns = ['rank', 'team', 'game', 'win_pt', 'win', 'draw', 'lose', 'gf', 'ga', 'goal_diff']) bundes_football = "https://sports.news.naver.com/wfootball/record/index?category=bundesliga&tab=team" driver.get(bundes_football)..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Y6qXu/btrD5OsUOpW/knG7lWHfgh7UqHWiBEkMK0/img.jpg)
지난 글에서 네이버 분데스리가 팀순위 페이지까지 연동하는 것을 해봤는데요. 코드는 아래와 같습니다. from selenium import webdriver import pandas as pd #open webdriver chrome_driver = './chromedriver.exe' driver = webdriver.Chrome(chrome_driver) df_bundes_team = pd.DataFrame(columns = ['rank', 'team', 'game', 'win_pt', 'win', 'draw', 'lose', 'gf', 'ga', 'goal_diff']) bundes_football = "https://sports.news.naver.com/wfootball/record/index?c..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckkDQ9/btrDWSQ85pJ/kzHbu7xCuC5zro64QrSJi1/img.jpg)
이제 본격적으로 크롤링을 진행해보겠습니다. 우선 전에 적었던 크롬드라이버를 여는 코드까지는 아래와 같습니다. from selenium import webdriver #open webdriver chrome_driver = './chromedriver.exe' driver = webdriver.Chrome(chrome_driver) 제가 이번에 크롤링 해볼 것은 네이버의 해외축구 팀순위 테이블입니다. 그중에서도 저는 분데스리가의 바이에른 뮌헨 팬이라 분데스리가 팀순위를 크롤링 해 이를 데이터 프레임에 저장해 표출해 보도록 하겠습니다. 이를 위해서는 크롤링을 진행하기 전에 컬럼이 들어가 있는 데이터 프레임을 만들어야 하는데요. 우선 네이버 분데스리가 팀순위 테이를 보시죠. 2021/22시즌의 순위 테이블을 ..