본문 바로가기

전체 글

파이썬을 엑셀처럼 사용하기 (1): 엑셀이 있는데 왜 파이썬을 배워야 하지? 파이썬을 엑셀처럼 사용하기 시리즈 (1) 엑셀이 있는데 왜 파이썬을 배워야 하지? (2) 데이터 열기 pandas read_excel() (3) 데이터 정렬하기 pandas sort_values() (4) 데이터 필터링하기, 비교 연산자 pandas filtering (5) 사칙연산하기 pandas arithmetic (6) 데이터 합치기 pandas merge() (7) 피벗 테이블 만들기 pandas pivot_table() ✔ 실습하기 위해서는 파이썬 아나콘다와 주피터 노트북이 설치되어있어야 합니다. - [파이썬] 파이썬 아나콘다 설치 방법, 파이썬 설치 방법 - [파이썬] 주피터 노트북(jupyter notebook) 사용법 ✔ 실습 데이터는 제 깃헙에서 받을 수 있습니다. 데이터1, 데이터2 엑.. 더보기
[파이썬] pandas 데이터프레임을 엑셀로 저장하기, 기존 파일에 새 시트 추가하기: to_excel(), pd.ExcelWriter() 특정 웹 사이트에서 매일 스크래핑하는 데이터를 엑셀 파일 하나에 일자별로 저장하고 싶다면 어떻게 할 수 있을까요? 판다스에서는 pd.ExcelWriter()를 사용해서 기존 파일에 새 시트만 추가하여 저장하는 방법이 있습니다. pd.ExcelWriter()를 사용해서 기존 파일에 새 시트 추가하여 저장하기 import pandas as pd # 특정 파일이 해당 경로에 존재하는지 알아보기 위하여 # os.path.exists() 메서드를 사용하겠습니다. import os 아래의 데이터프레임은 1일부터 3일까지의 인터넷 쇼핑몰의 과자 가격을 스크래핑한 가상의 데이터입니다. # 샘플 데이터 생성 day1 = {'날짜': ['2020-01-01', '2020-01-01'], '상품명': ['홈런볼', '초코파.. 더보기
[파이썬 엑셀 자동화] 파이썬 xlwings로 엑셀 다루기: 엑셀 차트, 엑셀 그래프 그리기 xlwings 라이브러리를 이용하면 코드 몇 줄로 그래프를 그릴 수 있습니다. 매번 작성해야 되는 보고서 스타일이 있다면 그래프 그리기도 자동화할 수 있습니다. 샘플 데이터를 만들겠습니다. 2020년 1월 1일부터 5일 까지의 가상의 치킨 판매량입니다. import pandas as pd data = {'date': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05'], 'amount': [14, 20, 16, 30, 20]} df = pd.DataFrame(data) df # >>> date amount # >>> 0 2020-01-01 14 # >>> 1 2020-01-02 20 # >>> 2 2020-01-03 16 # >>>.. 더보기
[파이썬] BeautifulSoup을 이용해서 텍스트 추출하기: get_text(), string BeautifulSoup을 이용해서 텍스트를 추출하는 방법은 대표적으로 두 가지가 있습니다. 하나는 get_text() 이용하는 것이고, 다른 하나는 string를 이용하는 것입니다. 두 방식의 차이점에 대해서 알아보겠습니다. 예제로 다음과 같은 HTML 문서를 사용하겠습니다. >> '\n\n .s-price span').get_text() # >>> '12,900원' string get_text()를 사용하더라도 정확하게 문자열을 추출하기 위해서는 항상 마지막 태그에 메서드를 사용해야 합니다. 개인적으로 애초에 더 명확하게 사용해야 하는 string 속성을 이용해서 문자열을 추출하는 것을 선호합니다. string 속성은 - 태그(tag) 내 문자열을 반환합니다. soup.select_one('.s-pr.. 더보기
[파이썬 엑셀 자동화] 파이썬 xlwings로 엑셀 다루기: 셀 범위 선택하기, 데이터프레임으로 읽어오기 엑셀에서와 마찬가지로 xlwings에서도 원하는 셀 범위를 간편하게 선택할 수 있는 기능이 있습니다. expand 메서드를 사용하거나 options 메서드를 사용하면 됩니다. 우선 샘플 데이터를 만들겠습니다. import xlwings as xw import datetime as dt # 새 통합문서를 만듭니다. wb = xw.Book() # 시트를 연결합니다. sht = wb.sheets[0] # 샘플 데이터를 만듭니다. sht.range('A1').value = [[1, 2, 3, 4], ['A', 'B', None, dt.datetime(2020, 1, 6)], [11, 12, 13, 14]] 셀 범위 선택의 세가지 방법 셀 범위 선택을 하기위해서는 expand 메서드를 사용하거나 options 메.. 더보기
[파이썬] pandas 데이터프레임을 엑셀로 저장하기, 둘 이상의 엑셀 시트로 저장하기: to_excel(), pd.ExcelWriter() 판다스 데이터프레임을 엑셀 형태로 저장하기 위해서는 to_excel() 메서드를 사용하면 됩니다. 이때 메서드의 매개 변수로 저장할 파일의 이름을 전달합니다. 경로를 별도 지정하지 않는다면 현재 스크립트가 위치한 폴더에 엑셀 파일이 생성됩니다. 샘플 데이터를 보겠습니다. import pandas as pd # 샘플 데이터프레임 생성 inventors = pd.DataFrame( { 'name': ['Nikola Tesla', 'Thomas Edison', 'Henry Ford'], 'born': ['1856/07/10', '1847/02/11', '1863/07/30'], 'died': ['1943/01/07', '1931/10/18', '1947/04/07'], 'age': [86, 84, 83] }).. 더보기
[파이썬] pandas 여러 개의 엑셀 시트를 하나의 데이터프레임으로 결합하기: pd.read_excel() 이번에는 여러 개의 엑셀 시트를 하나의 데이터프레임으로 합치는 방법을 알아보겠습니다. 샘플 데이터는 다음과 같이 생겼습니다. 온라인 소매 데이터로 세계 각국에서의 주문 기록이 담겨있습니다. 주문 국가에 따라 시트가 구분되어있으며 총 38개의 시트로 이루어졌습니다. - 샘플 데이터는 UCI Machine Learning Repository에서 제공하는 Online Retail Data Set를 수정하였습니다. 위의 데이터를 아래와 같은 하나의 데이터프레임으로 결합하여 데이터 분석이 가능한 형태로 만드는 것이 목표입니다. read_excel() 판다스에는 엑셀을 읽어오기 위한 메서드 read_excel()이 존재합니다. 사용하는 방법은 매우 간단합니다. 매개변수로 파일의 이름을 넣어주면 끝납니다. (단, 스.. 더보기
[파이썬] Pandas 컬럼 추가, 수정, 삭제하기: str.split(), str.replace() 데이터를 처리하다 보면 때때로 컬럼을 추가, 수정, 삭제해야 하는 경우가 있습니다. 예를 들어 기존의 데이터를 조합하여 새로운 컬럼을 만들고 싶을 수 있습니다. 또는 특정 값을 바꾸고 싶을 수도 있습니다. 이번 시간에는 컬럼을 추가, 수정하는 방법을 알아보겠습니다. 샘플 데이터 불러오기 In [1]: # 판다스 라이브러리 임포트 import pandas as pd # plotly express에 내장되어있는 gapminder 데이터프레임을 사용하겠습니다. import plotly.express as px # plotly가 설치되어있지 않다면 아래 명령으로 설치할 수 있습니다. # !pip install plotly In [2]: df = px.data.gapminder() 데이터 살펴보기 In [3]: .. 더보기