iterrows()
를 사용하는 것이 좋음itterows()
를 사용하는 것이 좋고 받을 때 인덱스와 내용으로 나누어 받는다는 것만 주의엑셀로 정의된 표를 데이터로 불러오다보면 index
가 다중구조로 되어있는 경우가 있음
예컨대 범죄 종류에서 첫 단계로 강도 - 폭행 - 살인으로 나누어져있고, 각각에서 발생 - 검거 등으로 나뉜 경우 멀티인덱스가 됨
이런 경우 데이터 활용을 위해서 하나의 단계로 합쳐주는 등의 작업이 필요한데 이 때 get_level_values()
메서드를 사용할 수 있음
예시
crime_station.columns # 컬럼 조회
"""
MultiIndex([('강간', '검거'),
('강간', '발생')])
"""
crime_station.columns.get_level_values(0)[0] + crime_station.columns.get_level_values(1)[0]
# 강간검거
위와 같은 과정을 반복문을 활용하여 index
를 정리해줄 수 있음
pd.pivot_table(데이터프레임, index, aggfunc)
index
에는 어떤 인덱스를 기준으로 정리할 것인지, aggfunc
에는 어떤 연산을 적용할 것인지를 넣어줌aggfunc=np.sum
이라면 총합을 계산함crime_anal_gu[컬럼1] / crime_anal_gu[컬럼2]
crime_anal_gu[[컬럼1, 컬럼2]].div(crime_anal_gu[컬럼3], axis=0)
crime_anal_gu[컬럼리스트1].div(crime_anal_gu[컬럼리스트2].values)
.rename()
key
, 변경하려는 컬럼 이름을 value
로 한 딕셔너리 형태로 인자로 넣어줌