[코딩테스트]/[Pandas]
[LeetCode - Pandas] (Easy) 2889. Reshape Data: Pivot
잰잰'
2025. 3. 27. 15:16
문제
DataFrame weather
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| city | object |
| month | object |
| temperature | int |
+-------------+--------+
각 행이 특정 월에 대한 온도를 나타내고, 각 도시가 별도의 열로 표시되도록 데이터를 피벗하는 솔루션을 작성하세요. 결과 형식은 아래 예시와 같습니다.
Example 1:
Input:
+--------------+----------+-------------+
| city | month | temperature |
+--------------+----------+-------------+
| Jacksonville | January | 13 |
| Jacksonville | February | 23 |
| Jacksonville | March | 38 |
| Jacksonville | April | 5 |
| Jacksonville | May | 34 |
| ElPaso | January | 20 |
| ElPaso | February | 6 |
| ElPaso | March | 26 |
| ElPaso | April | 2 |
| ElPaso | May | 43 |
+--------------+----------+-------------+
Output:
+----------+--------+--------------+
| month | ElPaso | Jacksonville |
+----------+--------+--------------+
| April | 2 | 5 |
| February | 6 | 23 |
| January | 20 | 13 |
| March | 26 | 38 |
| May | 43 | 34 |
+----------+--------+--------------+
표가 피벗되어, 각 열은 도시를 나타내고, 각 행은 특정 월을 나타냅니다.
풀이
import pandas as pd
def pivotTable(weather: pd.DataFrame) -> pd.DataFrame:
df_p = weather.pivot(index='month', columns='city', values='temperature')
return df_p
개념 정리
pivot() ? 두 개의 column을 각각 row/column index로 데이터를 재 정렬하는 것
df.pivot(index='새로운 행 인덱스 컬럼명', columns='열로 변경할 컬럼명', values='새로운 값이 될 컬럼명')