2024. 8. 3. 16:04ㆍ프로그래밍 (확장)/Python-Pandas
pivot 함수는 데이터를 재구조화하고 요약할 수 있는 도구로 특정 열의 값들을 새로 만든 열과 행 인덱스에 배치해서 테이블을 재구조화 합니다.
기본 사용법
DataFrame.pivot(index=None, columns=None, values=None)
- index: 새로 만들 행 인덱스로 사용할 열 이름 또는 이름의 리스트
- columns: 새로 만들 열 이름으로 사용할 열 이름 또는 이름의 리스트
- values: 새로운 프레임의 데이터 값으로 사용할 열 이름
ChatGPT 생성 예시 코드 1:
데이터 프레임 생성.
import pandas as pd
data = {
'Date': ['2020-01-01', '2020-01-02', '2020-01-01', '2020-01-02'],
'City': ['New York', 'New York', 'Los Angeles', 'Los Angeles'],
'Temperature': [30, 35, 25, 28]
}
df = pd.DataFrame(data)
print(df)
Date City Temperature
0 2020-01-01 New York 30
1 2020-01-02 New York 35
2 2020-01-01 Los Angeles 25
3 2020-01-02 Los Angeles 28
피벗 테이블 생성.
pivot_df = df.pivot(index='Date', columns='City', values='Temperature')
print(pivot_df)
City Los Angeles New York
Date
2020-01-01 25 30
2020-01-02 28 35
여기서 보면 인덱스로 'Date' 열 이름은 'City' 값은 'Temperature'를 선택해서 피벗 테이블을 생성 했다.
위쪽 각 인자의 설명을 참조해서 보면 쉽게 이해할 수 있다.
ChatGPT 생성 예시 코드 2:
데이터 프레임을 생성
data = {
'Date': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02'],
'City': ['New York', 'Los Angeles', 'New York', 'Los Angeles'],
'Weather': ['Sunny', 'Sunny', 'Rainy', 'Cloudy'],
'Temperature': [30, 25, 35, 28]
}
df = pd.DataFrame(data)
print(df)
Date City Weather Temperature
0 2020-01-01 New York Sunny 30
1 2020-01-01 Los Angeles Sunny 25
2 2020-01-02 New York Rainy 35
3 2020-01-02 Los Angeles Cloudy 28
피벗 테이블 생성 (여러개의 '컬럼' - City, Weather 에 대한 피벗 테이블)
pivot_df = df.pivot(index='Date', columns=['City', 'Weather'], values='Temperature')
print(pivot_df)
City New York Los Angeles New York Los Angeles
Weather Sunny Sunny Rainy Cloudy
Date
2020-01-01 30.0 25.0 NaN NaN
2020-01-02 NaN NaN 35.0 28.0
간단하게 하나의 value를 살펴보면 Date를 인덱스로 2020-01-01 에 New York에 Sunny인 날은 1열 1행에서 보듯 30.0으로 확인할 수 있다.
ChatGPT 생성 예시 코드 3:
데이터 프레임 생성
data = {
'Date': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02'],
'City': ['New York', 'Los Angeles', 'New York', 'Los Angeles'],
'Temperature': [30, 25, 35, 28],
'Humidity': [80, 70, 75, 65]
}
df = pd.DataFrame(data)
print(df)
Date City Temperature Humidity
0 2020-01-01 New York 30 80
1 2020-01-01 Los Angeles 25 70
2 2020-01-02 New York 35 75
3 2020-01-02 Los Angeles 28 65
피벗 테이블 생성 (여러 '값' - Temperature, Humidity 에 대한 피벗 테이블)
pivot_df = df.pivot(index='Date', columns='City')
print(pivot_df)
Temperature Humidity
City Los Angeles New York Los Angeles New York
Date
2020-01-01 25 30 70 80
2020-01-02 28 35 65 75
참고: https://pandas.pydata.org/docs/
pandas documentation — pandas 2.2.2 documentation
API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.
pandas.pydata.org
'프로그래밍 (확장) > Python-Pandas' 카테고리의 다른 글
판다스 (Pandas) (Pivot Table) (0) | 2024.08.03 |
---|---|
판다스 (Pandas) (GroupBy) (0) | 2024.08.03 |
판다스 (Pandas) (데이터 정제) (0) | 2024.08.03 |
판다스 (Pandas) (데이터 선택 및 필터링) (0) | 2024.08.02 |
판다스 (Pandas) (데이터 입출력) (0) | 2024.08.02 |