본문 바로가기

판다스/판다스 팁50

[pandas] 그룹별로 가장 가까운 값을 기준으로 NaN을 채우기 Example Code import pandas as pd data = {'code': [1, 1, 2, 2, 2, 2, 3], 'year': [2000, 2001, 2000, 2001, 2002, 2003, 2000], 'val': [1.6, None, 1.4, None, None, 1.7, 0.1]} df = pd.DataFrame(data) df: Problem code열의 값을 그룹화해서 가장 가까운 값을 기준으로 df의 NaN을 채우고 싶다. 거리에 따라 전방 혹은 후방값으로 채울지가 정해지기에 단순히 전방값 혹은 후방값으로 NaN을 채우는 ffill, bfill 로는 수행이 불가능하다 Code interpolate 함수를 nearest method로 적용하면 된다. code열로 그룹화해서 적용.. 2023. 5. 27.
[pandas] 데이터 프레임에서 큰 숫자를 가독성 좋게 표기하기 판다스의 데이터 프레임에서 큰 숫자의 가독성을 개선하는 방법데이터 분석을 하다 보면 대규모 데이터셋에서 큰 숫자를 다루게 되는 경우가 많습니다. 특히, 숫자가 크면 클수록 값을 직관적으로 이해하기 어려워지기에, 가독성을 높이는 것이 중요합니다. 이번 글에서는 데이터 프레임에서 큰 숫자를 좀 더 가독성 좋게 표기하는 방법을 알아보고자 합니다. Example Code import pandas as pddata = {'일련번호':[2101, 2102, 2103], '금액':[123000000, 456000000, 1230000000]}df = pd.DataFrame(data) df Problem예시 데이터 프레임은 금액 열에 큰 숫자가 포함되어 있어 가독성이 떨어집니다.이를 개선하기 위해 금액 .. 2023. 5. 26.
[pandas] 데이터 프레임에서 퍼센트(%)로 수치를 표기하는 방법 Example Code import pandas as pddata = {'종가': {0: 1000, 1: 1200, 2: 1300, 3: 1100}, '등락률': {0: 0.1, 1: 0.2, 2: 0.0833, 3: -0.1538}}df = pd.DataFrame(data)df df :  Problem  아래 그림처럼 위 데이터 프레임에서 등락률을 소수점 아래 두자리만 표기하는 %로 나타내고자 한다 어떻게 해야 할까? 해결방법1 등락률의 데이터를 100을 곱한 뒤 : mul(100)소수점 셋째 자리에서 반올림을 하고 : round(2)문자열로 바꾸고 : astype('str')%를 붙여주면 된다. df['등락률'].mul(100).round(2).astype('str') + '%' 0 .. 2023. 5. 26.
[pandas] 주피터 노트북에서 여러개의 데이터 프레임을 가로로 출력하기 # 데이터 프레임을 가로로 출력하자 from IPython.display import display, HTML HTML('') 위 코드를 실행시키고 display 함수로 데이터 프레임을 출력하면 된다 import pandas as pd data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] df1 = pd.DataFrame(data, index=list('ABC'), columns=['국어', '수학', '영어']) df2 = pd.DataFrame([[3, 1], [2, 10]], list('AC'), columns=['국어', '영어']) display(df1) display(df2) output: 유튜브에서 판다스 강의중입니다 https://www.youtube.com/@KimPa.. 2023. 5. 26.
[pandas] 구글 코랩과 주피터 노트북 비교 : 파일에서 데이터 프레임을 불러오는 방식의 차이 구글 코랩 구글 코랩은 내 컴퓨터의 파일을 불러올 수 없으므로 위 그림의 폴터 아이콘을 클릭해 구글코랩에 일단 파일을 업로드해서 경로명을 따서 부른다구글 코랩에 업로드를 한 뒤 경로명을 복사해서 해당 경로명으로 파일을 사용한다 상세한 설명이 더 필요하다면 아래 영상을 참고하라 (10:26 부터 파일 업로드해서 쓰는 부분 설명)    주피터 노트북 주피터 노트북은 내 컴퓨터의 파일을 부를 수 있으므로 내 컴퓨터의 경로명을 이용해 파일을 부른다 이때 역슬래쉬(\) 혹은 원화(₩)로 된 경로명은 슬래쉬 두개로 바꿔준다(//)   만약 불러오려는 엑셀 파일과 ipynb파일이 같은 폴더라면 파일명만으로 부를 수 있다.     유튜브에서 판다스 강의중입니다https://www.youtube.com/@KimPanda.. 2023. 5. 25.
[pandas] 데이터 프레임 2개를 concat할 때 열을 교대로 concat하는 방법 다음 두개의 데이터 프레임이 있다 import pandas as pd data1 = [[1, 2, 3], [4, 5, 6]] data2 = [[5, 2, 4], [3, 5, 1]] df1 = pd.DataFrame(data1, columns=['a1', 'd1', 'c1']) df2 = pd.DataFrame(data2, columns=['a2', 'd2', 'c2']) df1 df2 df1과 df2의 열을 교대로 합쳐보자. 열의 순서가 a1-a2-d1-d2-c1-c2가 되면 된다 그냥 concat한 다음에 sort_index 함수로 정렬을 하면 그저 a1-a2-c1-c2-d1-d2의 순서가 되므로 가능하지 않다 다음의 방법을 사용하자 1. 먼저 df1.columns와 df2.columns를 교대로 합친.. 2023. 5. 4.