본문 바로가기

프로그래밍/파이썬

(7)
판다스(Pandas) 사용하기 데이터 프레임 만들기 import pandas as pd # 데이터 프레임 생성 df = pd.DataFrame() # 열 추가 df['Name'] = ['Jacky', 'Steven'] df['Age'] = [28, 23] df['Driver'] = [True, Flase] # 데이터프레임 출력 print(dataframe) #결과 Name Age Driver 0 Jacky 28 True 1 Steven 23 False # 열 생성 new_person = pd.Series(['Molly', 40, True], index = ['Name', 'Age', 'Driver']) # 열 추가 df = df.append(new_person, ignore_index=True) # 출력 print(df) # 결과 N..
numpy 사용하기 벡터, 행렬, 배열 넘파이의 핵심 데이터 구조는 다차원 배열이다 벡터 만들기 import numpy as np # 행이 하나인 벡터 vector = np.array([1, 2, 3]) # 열이 하나인 벡터 vector = np.array([[1], [2], [3]]) # 넘파이 배열은 ndarray 클래스의 객체 print(type(vector)) # ndarray 클래스의 첫 번쨰 매개변수에 배열 크기를 정수 튜플로 지정하여 넘파이 배열 생성가능 # 권장하는 방법은 아님 vector = np.ndarray((3,)) # asarray 함수를 사용하여 배열을 만드는 방법도 가능, 단 입력이 넘파이 배열일 때는 새로운 배열을 생성하지 않음 vector = np.asarray([1, 2, 3]) 행렬 만들기 import num..
파이썬으로 웹 크롤링하기(3) 동적 페이지 이전까지의 크롤링은 정적으로 변하거나 한 페이지만 크롤링을 하였다. 예를 들어 다음 페이지를 눌렀는데 URL 주소가 변하지 않고 그대로라면 이전 방식으로는 크롤링을 할 수 없다. 이러한 상황에서 크롤링을 하기 위해서는 chromedirver와 파이썬 라이브러리인 selenium이 필요하다. 우선 교보문고의 국내도서 -> 소설 -> 베스트셀러 경로로 들어가보자. 첫 페이지의 URL은 http://www.kyobobook.co.kr/categoryRenewal/categoryMain.laf?perPage=20&mallGb=KOR&linkClass=01&menuCode=002이다. 다음 페이지로 넘겨보아도 URL은 http://www.kyobobook.co.kr/categoryRenewal/categoryMa..
파이썬으로 웹 크롤링하기(2) 데이터 변환 저번 글에 이어 이번에는 가격과 작가 정보를 추가로 얻어와 csv파일과 xlsx 파일로 저장을 해보겠다. 우선 작가와 가격정보는 크롬의 개발도구를 이용하여 selector를 얻고 동일하게 정보를 가져온다. 소스코드 - import requests from bs4 import BeautifulSoup def get_name(url): name = list() html = requests.get(url).text soup = BeautifulSoup(html, 'html.parser') for anchor in soup.select("div.info_area > div.detail > div.title > a > strong"): name.append(anchor.get_text()) return name ..
파이썬으로 웹 크롤링 하기(1) 정적인 웹 페이지 1. URL 요청하기 URL 요청은 파이썬 라이브러리 requests를 사용한다. import requests url = requests.get('https://www.naver.com/') print(url.status_code) print(url.text) 이렇게 실행을하면 다음과 같이 html 코드를 출력하는것을 볼 수 있다. 2.BeautifulSoup BeautifulSoup은 원하는 html의 요소에 접근할 수 있도록 도와준다. 다음 예제는 교보 문고 국내도서 소설 카테고리의 베스트셀러 제목들을 텍스트 형식으로 가져오는 예제이다. 우선 크롬의 개발도구를 F12키를 눌러 열고 제목부분을 오른쪽 클릭하여 검사를 누른다. 검사를 누르면 파란색으로 강조되는 영역을 오른쪽 클릭하고 Copy -> Cop..
2. 파이썬 자료구조 튜플 튜플은 몇 가지를 제외하고는 리스트와 거의 비슷하다. 다른점은 아래와 같다. ● 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러싼다. ● 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다. 튜플의 예제는 다음과 같다. >>> a = () >>> a = (1, ) >>> a = (1, 2, 3) >>> a = 1, 2, 3 >>> a = ('a', 'b', ('ab', 'cd')) -인덱싱 >>> a = (1, 2, 3) >>> a[0] 1 >>> a[2] 3 -슬라이싱 >>> a = (1, 2, 3) >>> a[1:] (2, 3) -튜플 더하기 >>> a = (1, 2, 3) >>> b = (4, 5) >>> a + b (1, 2, 3, 4, 5) -튜플 곱하기 >>> a..
1.파이썬 자료구조 리스트 리스트는 배열과 비슷한 개념이다. 파이썬에서 리스트는 다음과 같이 사용할 수 있다. a = [] a = list() a = [1, 2, 3, 4, 5] a = ['hi', 'hello'] a = [1, 2, 'hi', 'hello'] a = [1, 2, ['hi', 'hello'] 모두 리스트를 생성한 것이다. 1. 리스트 슬라이싱 다음은 슬라이싱의 예제 이다. >>> a = [1, 2, 3, 4, 5] >>> a[0:2] [1, 2] >>>b = a[:2] >>>c=[2:] >>>b [1, 2] >>>c [3, 4, 5] 2.리스트 인덱싱 다음은 인덱싱의 예제이다. >>> a = [1, 2, 3] >>> a[0] 1 >>> a[0] + a[2] 4 >>> a[-1]#a[-1]은 리스트 a의 마지막 요솟..