카테고리 없음

TIL (24.10.08) - 판다스 심화 + 코드카타 풀이

sj5black 2024. 10. 8. 10:39

멀티 인덱스

 - 여러개의 컬럼값을 인덱스로 활용해서 데이터프레임을 구조화하는 방법

 - 멀티 인덱스를 사용한 데이터프레임은 정렬된 상태로 관리하는 것이 일반적 (sort_index() 사용)

pd.MultiIndex.from_tuples() 함수 사용
loc[]를 사용한 접근 (서울, 2021 인덱스값 선택)
슬라이싱으로 접근
xs() 함수로 특정 레벨 데이터 선택

 

복합 인덱스 활용

df.unstack(level='OO') : 멀티 인덱스를 열로 변환

df.stack(level='OO') : 열을 멀티 인덱스로 변환

 

데이터프레임 구조화

1. pivot() 활용

 

2. melt() 활용 : 데이터 구조 해체

 

3. 데이터 행, 컬럼 추가/삭제

# 2번째와 3번째 컬럼을 제외하고 표시 (컬럼 번호는 0부터 시작)

df_filtered = df.drop(df.columns[[1, 2]], axis=1)

 

---------------------------------------------------------------------------------------------

<코드카타 풀이>

 

풀이)

1. 작은건 작은것끼리, 큰건 큰것끼리 모은다.

2. 리스트의 정렬함수 sort() 를 반복문으로 활용

3. 양쪽 맥스값의 곱을 리턴

 

<SQL 문제>

 

>> having 인자 활용해서 다시 풀어볼 것

>> 두 테이블을 join 시 컬럼명이 겹치지 않는 경우, 앞에 테이블라벨을 명시하지 않아도 된다. + join 문 끝에 조건 필터를 걸 수 있다.

 

>> case when ~ then ~ end 구문 리마인드

>> 하지만 상품 가격의 범위가 지정되어있지 않기에 무한정 case 구문을 쓸 수는 없다.

검색결과, 여기서  floor함수 를 적절히 활용하면  코드를 굉장히 간단하게 작성할 수 있다. (다시 풀어볼 것)

>> round : 반올림 / floor : 버림 / ceiling : 올림