본문 바로가기

전체 글

[파이썬 pandas] 판다스 매개변수 axis의 의미를 알아보자 판다스를 사용하다 보면 평균 계산, 데이터프레임 열이나 행 삭제 작업등을 할 때 axis(축)을 지정해야 합니다. 축을 넣어야 할 때면 0을 넣어야 하는지 1을 넣어야 하는지 헷갈릴 수 있습니다. 이번 시간에는 바로 이 axis에 대해서 알아보겠습니다. ① aixs=0(index)은 행을 따라 동작합니다. 각 컬럼의 모든 행에 대해서 작용합니다. ② aixs=1(columns)은 열을 따라 동작합니다. 각 행의 모든 컬럼에 대해서 작동합니다. 그림으로 직관적으로 이해해 보겠습니다. 예제로 사용할 데이터프레임을 만들겠습니다. df = pd.DataFrame( {'name': ['KIM', 'LEE', 'SMITH','BROWN', 'MILLER'], 'age': [24, 32, 43, 24, np.nan].. 더보기
[파이썬 pandas] 데이터의 순위를 구하는 rank() 함수 엑셀에 Rank 함수가 있는 것처럼 판다스에도 rank 함수가 존재합니다. 이 함수를 이용하면 수 목록 내에서 개별 수의 크기 순위를 손쉽게 계산할 수 있습니다. 이번에는 rank 함수를 사용하는 방법을 알아보겠습니다. 코드 DataFrame.rank(self, axis = 0, # 기본값 0(index)으로, index 축을 기준으로 랭크가 계산됩니다. method = 'average', # 동점을 가진 데이터들의 순위를 매기는 방법입니다. numeric_only = None, # True로 설정된 경우 숫자 열만 순위를 매깁니다. na_option = 'keep', # NaN 값 순위를 매기는 방법입니다. ascending = True, # 오름차순, 내림차순 정렬인지 정합니다. pct = False.. 더보기
파이썬 리스트 값 수정, 제거/삭제하기: del, remove, pop 리스트(list)는 여러 개의 값을 한 번에 저장할 수 있는 기본 자료 구조로, 값의 수정과 삭제가 자유로운 장점이 있습니다. 이번에는 리스트에서 값을 수정하고 제거하는 방법을 알아보겠습니다. 값 수정하기 리스트는 인덱싱을 이용해서 값을 수정할 수 있습니다. zero-based numbering을 사용하기 때문에 값의 순서는 0부터 시작합니다. kospi_top5 = ['삼성전자', 'SK하이닉스', '삼성전자우', '삼성바이오로직스', 'NAVER'] kospi_top5[4] = '네이버' kospi_top5 # ['삼성전자', 'SK하이닉스', '삼성전자우', '삼성바이오로직스', '네이버'] kospi_top5[4]의 값 NAVER가 네이버로 바뀌었습니다. 값 제거하기 리스트에서 값을 삭제하는 방법.. 더보기
파이썬 크롤링: BeautifulSoup에서 CSS selector를 사용하는 방법 파이썬에는 BeautifulSoup이라는 HTML 문서 분석 라이브러리가 있습니다. 이를 이용하면 HTML 문서에서 손쉽게 내가 원하는 정보를 추출할 수 있습니다. 오늘은 BeautifulSoup이 제공하는 여러 가지 유용한 기능 중, CSS 선택자를 매개변수로 받는 select() 메서드에 대해서 알아보겠습니다. 실습 페이지는 영문 위키피디아의 베네딕트 컴버배치 페이지를 사용하겠습니다. 페이지 불러오기 실습에 필요한 HTML 문서와 soup 객체를 준비합니다. # 라이브러리를 불러옵니다. import requests from bs4 import BeautifulSoup # 페이지를 받아와 soup 객체로 만듭니다. url = "https://en.wikipedia.org/wiki/Benedict_Cum.. 더보기
파이썬 리스트 중복 제거, 유일한 값 찾기 파이썬 리스트에 중복된 값을 제거하고 싶다면 어떻게 해야 하는지 알아보겠습니다. 크게 두 가지 방법이 있습니다. 1) 집합(set) 자료형을 이용한다. 2) for문을 이용해 리스트 요소를 순회하며 중복 여부를 체크한다. 샘플 데이터 다음과 같은 샘플 데이터가 있습니다. A가 2번, B가 2번, D가 2번으로 중복 값이 존재합니다. my_list = ['A', 'B', 'C', 'D', 'B', 'D', 'E'] 1. set을 이용해서 중복 제거하기 집합 자료형은 두 가지 큰 특징이 있습니다. 1) 중복을 허용하지 않는다. 2) 순서가 없다. 이 두 가지 특징 중 첫 번째 특징을 이용하면 손쉽게 리스트 요소의 중복을 제거할 수 있습니다. # 집합으로 변환 my_set = set(my_list) # 리스트.. 더보기
엑셀 2010/2013 폭포차트(waterfall chart) 그리는 방법 엑셀의 누적 세로 막대형 차트를 이용하면 손쉽게 폭포 차트를 그릴 수 있습니다. 그 방법을 알아보겠습니다. 폭포 차트란 폭포 차트(waterfall chart)는 초기 값이 특정 요인에 의해 어떻게 영향을 받는지 표현합니다. 각 요인은 시간 기반이거나 범주 기반입니다. 증감을 한눈에 파악할 수 있도록 양수 값과 음수 값을 구분해, 색상을 다르게 쓰는 것이 일반적입니다. 폭포 차트는 이런 경우에 유용하게 쓸 수 있습니다. - 시계열 또는 각기 다른 범주에 걸쳐 값의 변화가 있을 경우 - 합계 값에 영향을 주는 주요 요인을 구분해서 표현하는 경우 (회사의 수익/이익, 현금 흐름 등) 아래의 예시는 한 회사의 전년비 월별 매출 증감을 표현한 그래프입니다. 폭포 차트 작성하는 방법 1) 데이터 증감 구하기 월별.. 더보기
[파이썬] pandas 자료 구조: Series 기초 판다 스는 크게 두 가지 자료 구조로 이루어졌습니다. 첫 번째는 Series, 두 번째는 DataFrame 입니다. 오늘은 Series에 대해서 다루겠습니다. 판다스 불러오기 import pandas as pd Series 생성하기 s = pd.Series(data, index=index, name=name) 시리즈를 직관적으로 이해하는 가장 좋은 예시는 엑셀 시트의 열 하나를 떠올리는 겁니다. 엑셀과 달리 시리즈는 행의 이름(index)과 열의 이름(name)을 원하는 대로 입력할 수 있습니다. 별도로 입력하지 않는다면 index는 0부터 시작하는 정수 값이, name은 빈 값(None)이 입력됩니다. 또한 시리즈는 모든 데이터 유형(정수, 실수, 문자 등)을 담을 수 있습니다. 행 이름을 총칭하여 I.. 더보기
[파이썬] 웹 크롤링: 코드 10줄로 HTML을 Text로 변환하기 종종 웹 사이트에서 텍스트를 가져와야 할 때가 있습니다. 간단한 파이썬 코드를 이용해서 HTML 문서를 일반 텍스트로 가져오는 방법을 알아보겠습니다. import requests from bs4 import BeautifulSoup url = 'https://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0011343153' html = requests.get(url) soup = BeautifulSoup(html.text) # find_all 함수에 매개변수로 리스트를 전달합니다. # 다음 코드는 HTML 문서의 모든 'script', 'style', 'header', 'footer', 'form' 태그를 반환합니다. script.. 더보기