| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pandas 메소드
- 파이썬
- matplotlib
- 통계학
- numpy
- 재귀함수
- Slicing
- python
- 리스트
- 스터디노트
- tree.fit
- INSERT
- maplotlib
- 기계학습
- 조합
- pandas filter
- MacOS
- 문제풀이
- SQL
- 순열
- 등차수열
- DataFrame
- plt
- 머신러닝
- 등비수열
- 자료구조
- Machine Learning
- Folium
- barh
- pandas
Archives
- Today
- Total
코딩하는 타코야끼
[스터디 노트] Week5_3일차 [unit1 ~ 11] - EDA(범죄) 본문
728x90
반응형
1. Pandas pivot_table
📍 pivot_table( )

- pivot_table() 함수는 pandas의 DataFrame을 재구조화하기 위해 사용됩니다.
- 이 함수는 주어진 데이터에서 간단한 '피벗 테이블'을 생성합니다.
- 피벗 테이블은 통계의 한 형태로, 데이터를 요약하고 분석하는 데 유용하게 사용됩니다.
- values: 피벗 테이블의 각 셀에 채울 DataFrame의 열을 지정합니다. 일반적으로 수치 데이터입니다.
- index: 결과 피벗 테이블의 인덱스를 지정할 DataFrame의 열입니다. 이 매개변수를 사용하여 행에 레이블을 적용할 수 있습니다.
- columns: 결과 피벗 테이블의 컬럼을 지정할 DataFrame의 열입니다. 이 매개변수를 사용하여 열에 레이블을 적용할 수 있습니다.
- aggfunc: 'values' 매개변수로 제공된 데이터에 적용할 집계 함수를 지정합니다. 이 매개변수는 'mean', 'sum', 'count' 등의 값을 사용할 수 있습니다. 기본값은 'mean'입니다.
pd.pivot_table(df, index = "Name")

- 분류 지
pd.pivot_table(df, index = ["Manager", "Rep"],
values = "Price", columns = "Product", aggfunc = np.sum)

- NaN에 대한 처리를 지정
pd.pivot_table(df, index = ["Manager", "Rep"], values = ["Price"],
columns = ["Product"], aggfunc = [np.sum], fill_value = 0)

2. 서울시 범죄 현황 데이터 정리
crime_raw_data.head()

crime_station = pd.pivot_table(crime_raw_data, index = ["구분"],
columns = ["죄종", "발생검거"], aggfunc = [np.sum])
crime_station.head()

- Multi Columns Index
- pivot table을 적용하면 column 이나 index가 다중으로 잡힌다.
crime_station.columns
>>>
MultiIndex([('sum', '건수', '강간', '검거'),
('sum', '건수', '강간', '발생'),
('sum', '건수', '강도', '검거'),
('sum', '건수', '강도', '발생'),
('sum', '건수', '살인', '검거'),
('sum', '건수', '살인', '발생'),
('sum', '건수', '절도', '검거'),
('sum', '건수', '절도', '발생'),
('sum', '건수', '폭력', '검거'),
('sum', '건수', '폭력', '발생')],
names=[None, None, '죄종', '발생검거'])
📍 df.droplevel( )
- Pandas의 droplevel() 함수는 MultiIndex에서 레벨을 제거하는데 사용됩니다.
- MultiIndex란 DataFrame 또는 Series의 인덱스가 여러 레벨로 구성된 경우를 말합니다.
- 더 간단한 인덱스 구조를 가진 DataFrame을 얻을 수 있습니다.
- level: 제거할 레벨을 지정합니다. 레벨은 정수, 레벨 이름 또는 이들의 리스트로 지정할 수 있습니다. 기본값은 가장 바깥쪽 레벨(0)입니다.
- axis: 레벨이 제거될 축을 지정합니다. 0 또는 'index'는 인덱스에서 레벨을 제거하고, 1 또는 'columns'는 컬럼에서 레벨을 제거합니다. 기본값은 0('index')입니다.
# 다중 컬럼에서 특정 컬럼 제거 crime_station.columns = crime_station.columns.droplevel([0, 1]) crime_station.columns >>> MultiIndex([('강간', '검거'), ('강간', '발생'), ('강도', '검거'), ('강도', '발생'), ('살인', '검거'), ('살인', '발생'), ('절도', '검거'), ('절도', '발생'), ('폭력', '검거'), ('폭력', '발생')], names=['죄종', '발생검거'])crime_station.head()

반응형
'zero-base 데이터 취업 스쿨 > 스터디 노트' 카테고리의 다른 글
| [스터디 노트] Week5_5일차 [unit22 ~ 32] - EDA(범죄) (2) | 2023.08.16 |
|---|---|
| [스터디 노트] Week5_4일차 [unit14 ~ 21] - EDA(범죄) (0) | 2023.08.16 |
| [스터디 노트] Week5_2일차 [unit12 ~ 20] - EDA(CCTV) (0) | 2023.08.16 |
| [스터디 노트] Week5_1일차 [unit1 ~ 11] - EDA(CCTV) (0) | 2023.08.16 |
| [스터디 노트] Week4_3일차 [unit31 ~ 47] - 알고리즘 문제 풀이 (0) | 2023.07.31 |