본문 바로가기

판다스/판다스 팁50

[pandas] 멀티 인덱스에서 두 번째 레벨의 값으로 인덱싱하는 방법 예제: import pandas as pddata1 = {('김판다', '영어'): [50, 20, 35], ('김판다', '국어'): [60, 5, 45], ('강승주', '영어'): [70, 10, 60], ('강승주', '국어'): [100, 30, 50]}df = pd.DataFrame(data1)       국어 점수열만 인덱싱 합니다  1. loc 인덱서 활용 df.loc[:, (slice(None), '국어')]      2. xs 함수 활용 df.xs('국어', level=1, axis=1)    판다스 책이 출판되었습니다. 교보문고 구매 페이지, 알라딘 구매 페이지, yes24 구매 페이지 2024. 2. 20.
[pandas] 멀티 인덱스인 열을 가지고 있을 때 subtotal 열 만들기 예제 : # 예제 생성 import pandas as pd data1 = {('김판다', '영어'): [50, 20, 35], ('김판다', '국어'): [60, 5, 45], ('강승주', '영어'): [70, 10, 60], ('강승주', '국어'): [100, 30, 50]} df = pd.DataFrame(data1) df: 문제 : 멀티 인덱스인 열을 가지고 있을 때 subtotal 열 만들어 봅시다. groupby의 axis=1이 판다스 2.1.0+에서 사라지기 때문에 전치 데이터 프레임 T를 활용해야 합니다. subtotal 행을 만드는 사용자 정의 함수를 생성해 그룹바이 객체에 apply 함수와 함께 적용합니다. 이때 group_keys=False는 필수입니다 # subtotal 행을 생성.. 2024. 2. 20.
[pandas] plot 함수로 subplot 그리는 방법 판다스의 plot 함수로 subplot 그리는 방법subplot은 그래프를 분할하여 여러 개의 작은 그래프를 하나의 그림에 배치하는 것을 의미합니다. matplotlib 라이브러리도 subplot을 지원하지만, 판다스의 plot 함수만으로도 subplot을 활용해 데이터를 분할하여 간편하게 시각화할 수 있습니다. 데이터 준비 및 기본 그래프 생성 먼저 예시 데이터를 생성하여 데이터 프레임으로 불러오겠습니다.import pandas as pddata1 = {'col1': {'A': 1, 'B': 4}, 'col2': {'A': 2, 'B': 5}, 'col3': {'A': 3, 'B': 6}, 'col4': {'A': 5, 'B': 8}}df = pd.DataFr.. 2024. 2. 16.
matplotlib의 컬러맵에서 색상을 지정해 그래프를 그리는 방법 예제 데이터import pandas as pddata = {'A': {'buy': 0.55, 'sell': 0.4}, 'B': {'buy': 0.2, 'sell': 0.45}, 'C': {'buy': 0.3, 'sell': 0.35}}df = pd.DataFrame(data)  df:    컬러맵 'RdBu'를 사용해 이 데이터 셋으로 그래프를 그려 보겠습니다. matplotlib의 다양한 컬러맵은 다음 링크에서 확인할 수 있습니다. https://matplotlib.org/stable/users/explain/colors/colormaps.html Choosing Colormaps — Matplotlib 3.8.2 documentationChoosing Colormaps Ma.. 2024. 2. 13.
pandas 에서 plotly 기반으로 그래프를 그리는 방법 예제 import pandas as pds = pd.Series([1, 2, 3], index=['가', '나', '다'], name='판매량') s: 가 1나 2다 3Name: 판매량, dtype: int64   판다스의 plot으로 그래프를 그릴 때 backend 인자를 사용하면 plotly기반으로 그래프를 그릴 수 있다. (당연히 plotly 라이브러리는 설치되어 있어야 한다)   s.plot(backend='plotly')   plotly 기반으로 바꾸면 plot 함수의 인자와 인수도 plotly 함수의 인자와 인수를 사용해야 한다는 것에 주의 그래서 아래와 같이 함수를 써야 한다.  s.plot(backend='plotly', labels={'value': '바꿀1'.. 2023. 12. 22.
[pandas] 데이터 프레임을 가로로 정렬하는 방법 example code import pandas as pd data = {'col1': [6, 9, 7, 4, 3, 9], 'col2': [1, 8, 1, 7, 3, 5], 'col3': [6, 4, 2, 3, 1, 9], 'col4': [2, 8, 2, 7, 1, 3]} df = pd.DataFrame(data) 문제 예제의 데이터 프레임 df를 아래와 같은 데이터 프레임이 있을 때 가로로 값을 정렬하고 싶다면 어떻게 해야 할까? (위 그림의 첫째 행을 보면 6, 1, 6, 2의 순서였지만 1, 2, 6, 6이 되었다) 해결 이 경우 pandas 라이브러리로도 가능하지만 numpy를 쓰는 것이 속도면에서 우월하다 numpy 함수 np.sort를 사용하자 import numpy as np np.sort(.. 2023. 11. 15.