Python Library 55

[Pandas - Python] Pandas 라이브러리와 데이터의 선택(loc, iloc)

앞의 데이터의 선택 (기본) 에서는 column을 기준으로 데이터를 선택했습니다. 이번 loc, iloc에서는 행을 기준으로 데이터를 선택해보겠습니다. import pandas as pd df = pd.read_excel('score.xlsx', index_col = '지원번호') df 이름학교키국어영어수학과학사회SW특기 지원번호 1번채치수북산고19790851009585Python 2번정대만북산고1844035505525Java 3번송태섭북산고1688075708075Javascript 4번서태웅북산고1874060707580NaN 5번강백호북산고1881520103510NaN 6번변덕규능남고20280100958580C 7번황태산능남고1885565454035PYTHON 8번윤대협능남고19010085909595C..

[Pandas - Python] Pandas 라이브러리와 데이터 확인 및 선택(기본)

이번에는 그냥 간단히 데이터를 확인하고 선택하는 방법에 대해서만 알아보겠습니다. 아마 외우는게 주가 될 것 같네요. import pandas as pd df = pd.read_excel('score.xlsx', index_col='지원번호') df 이름학교키국어영어수학과학사회SW특기 지원번호 1번채치수북산고19790851009585Python 2번정대만북산고1844035505525Java 3번송태섭북산고1688075708075Javascript 4번서태웅북산고1874060707580NaN 5번강백호북산고1881520103510NaN 6번변덕규능남고20280100958580C 7번황태산능남고1885565454035PYTHON 8번윤대협능남고19010085909595C# describe() df.descri..

[Pandas - Python] Pandas 라이브러리와 파일 저장 및 열기(excel, csv, txt)

1. excel, csv, txt의 차이 excel과 txt는 많은 분들이 아실거라고 생각합니다. csv가 조금 생소하실 수 있는데, csv란 것은 ,(쉼표)로 구분된 값, 일반 텍스트 파일입니다. 텍스트들을 쉼표로 구분합니다. 이때, text파일 즉 메모장에서 열면 이런 형태로 나오지만, csv파일을 excel에서 열면, 이런 식으로 나타납니다. 쉽게 말해서, excel로도 열 수 있지만, 이미지나 다른게 없이 오로지 텍스트로만 이루어졌기 때문에, csv의 장점은 excel보다는 용량이 작고, 광범위하게 지원되는 것이 장점이고, 단점은 excel에 비해 많은 작업을 할 수 없다는게 단점입니다. 2. 파일 저장 csv 파일로 저장 df.to_csv('score.csv', encoding='utf-8-si..

[Pandas - Python] Pandas 라이브러리와 Index 정리

1. Index의 이름을 설정하는 법 df.index.name df.index.name = '지원번호' df 이름학교키국어영어수학과학사회SW특기 지원번호 1번채치수북산고19790851009585Python 2번정대만북산고1844035505525Java 3번송태섭북산고1688075708075Javascript 4번서태웅북산고1874060707580 5번강백호북산고1881520103510 6번변덕규능남고20280100958580C 7번황태산능남고1885565454035PYTHON 8번윤대협능남고19010085909595C# 이렇게 index.name을 하면 쉽게 index의 이름을 설정할 수 있습니다. df.rename_axis() print(df.rename_axis('학급 번호')) 를 통해 일시적으로 ..

[Pandas] Pandas 라이브러리와 DataFrame

이번 시간에는 Pandas라이브러리의 DataFrame을 만들어보겠습니다. DataFrame이란 2차원 배열 데이터를 의미하며, 앞에서 공부한 Series들의 집합이라고 할 수 있겠네요. 1. 시작하기에 앞서 data를 슬램덩크 8명에 대한 데이터로 한 번 만들어 보겠습니다. data = { '이름' : ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협'], '학교' : ['북산고', '북산고', '북산고', '북산고', '북산고', '능남고', '능남고', '능남고'], '키' : [197, 184, 168, 187, 188, 202, 188, 190], '국어' : [90, 40, 80, 40, 15, 80, 55, 100], '영어' : [85, 35..

[Pandas] Pandas 라이브러리와 Series

빅 데이터와 관련된 내용은 주피터 노트북을 이용해서 공부하였습니다. 1. Pandas란? Pandas 라이브러리란 데이터를 다루기 위한 라이브러리입니다. 용량이 큰 데이터를 안정적으로 다룰 수 있고, 2차원 데이터를 쉽고 간편하게 다룰 수 있습니다. 그래서 보통 Python에서 데이터 공부를 한다고 하면 대부분 Pandas를 이용하곤 합니다. 근데 중요한건 빅 데이터에 대한 공부지 라이브러리를 공부하는게 아니라고 생각합니다. 하여튼 Pandas를 통해서 데이터를 공부하겠습니다. 2. 설치 주피터 노트북을 이용하기 때문에 사실 pip install이나 Setting을 통해 설치해줄 필요가 없습니다. 그냥 주피터 노트북에서 import pandas as pd 라는 문장 하나면 알아서 import해줍니다. 근..

[웹 크롤링 - Python] BeautifulSoup(Requests, Selenium)의 응용(2)

이번에는 오늘의 정보를 가져와서 text파일에 저장하는 함수를 만들었습니다. 날씨와 헤드라인 뉴스, 그리고 IT뉴스와 헤커스의 오늘의 영어 회화를 가져와서 today.txt파일에 저장하는 함수입니다. 아 그리고 Requests와 Selenium을 쓸 때도 있고, 안 쓸 때도 있습니다. 아마 동시에 쓸 일은 아직까지는 없네요. 일단 둘 다 공부해야해서 한 파트에 한 가지만 쓰고 있습니다. find와 select를 혼용해서 쓴 이유는 공부하기 위해서입니다. 한 가지만 쓰면 다른 한 가지는 까먹기 때문에.. import requests from bs4 import BeautifulSoup import sys # 기본 출력을 today.txt로 바꿈 sys.stdout = open('today.txt', 'w'..

[웹 크롤링 - Python] BeautifulSoup(Requests, Selenium)의 응용(1)

이번 시간에는 네이버 부동산의 정보를 csv에 저장하는 프로그램을 만들어 보았습니다. 아파트 이름을 적으면 알아서 웹 크롤링을 해와서 csv파일에 저장하는 방식입니다. 하지만 이 코드의 문제점은 최대 19개밖에 못 가져온다는 것인데, 이는 네이버 부동산의 판매 정보칸이 있는데, 여기서 스크롤을 내려야 GET으로 추가 판매 정보를 가져오더라구요 .. 그래서 추가 판매 정보를 가져오는 녀석의 헤더와 쿠키, auth 정보를 따서 재요청하려고 했는데, 이건 제가 아직 지식을 덜 쌓아서 못 했습니다... 그래서 아래의 코드는 사이트에 들어가면 바로 나와있는 정보만 가져오는 반쪽짜리 코드라 할 수 있네요 ㅠㅠ from bs4 import BeautifulSoup from selenium import webdrive..

[웹 크롤링 - Python] Selenium 사용법

앞의 글을 읽으시면 이해에 도움이 됩니다. 2022.02.01 - [Python Library/웹 크롤링] - [웹 크롤링 - Python] Selenium 프레임워크 및 웹 드라이버 [웹 크롤링 - Python] Selenium 프레임워크 및 웹 드라이버 1. Selenium 이란? 만약 우리가 웹 크롤링을 하는 과정에서 로그인이 필요한 경우에는 어떻게 해야할까? 일일이 우리가 로그인을 하고 안에 들어간 다음에 url 주소를 다시 줘야할까?? 혹은 해당 웹 hi-guten-tag.tistory.com 1. find를 이용해 element 찾기(find_element), click(), get_attribute() from selenium import webdriver url = "http://naver..

[웹 크롤링 - Python] Selenium 프레임워크 및 웹 드라이버

1. Selenium 이란? 만약 우리가 웹 크롤링을 하는 과정에서 로그인이 필요한 경우에는 어떻게 해야할까? 일일이 우리가 로그인을 하고 안에 들어간 다음에 url 주소를 다시 줘야할까?? 혹은 해당 웹사이트가 프로그램을 통한 접근을 막은 경우에는 어떻게 될까?? User-Agent를 바꾸면 해결할 수는 있지만, 인생이 그렇듯 하나의 방법으로는 불가능한게 너무 많다. 그렇다면 어떤 방법을 통해서 할 수 있을까? requests로는 한계가 있어보인다. 방법은 Selenium이다. Selenium은 마치 우리가 웹 사이트를 이용하는 것처럼 홈페이지를 제어할 수 있다. 사실 Selenium은 위와 같은 경우 때문에 생겨난 프레임워크가 아니다. 크롤링을 위한 프레임워크가 아니란 말이다. 사실 Selenium은..