행, 열의 각 축에 대해 다중 단계(계층)를 지정하여 데이터에 차원을 설정
인덱스에 다차원 리스트를 전달하면 계층 색인을 지정할 수 있음
데이터 구조를 재배열하거나 pivot 테이블과 같은 그룹 기반 작업에 유용
재배열 메서드
Series 인덱스에 다차원 리스트(아이템 2개)를 전달하려면
로우 인덱스 - 상위계층 : a, b, c, d
하위계층 : a(1, 2, 3), b(1, 2), c(1, 2, 3, 4), d(1)
인 시리즈를 만들어보자.
unstack() : 로우가 2개인데 이 중 최하위(기본동작)에 있는 로우 계층을 컬럼으로 적용하여 위로 올림
예제
계층의 인덱스번호 또는 라벨을 사용하여 상 하위간 교환
obj.sort_index() : 인덱스를 기준으로 정렬 (기본값은 ascending=True, 오름차순 정렬)
obj.sort_values() : 값을 기준으로 정렬
Series 생성 및 여러 정렬을 시행해보자.
인덱스 기준 오름차순과 내림차순
값 기준 오름차순과 내림차순
일시적인 변경이므로 s1 자체에는 영향 없음
DataFrame의 정렬
DataFrame 생성
로우/컬럼 오름/내림차순 활용
기준을 정한 정렬
인덱스라벨(로우) c의 값을 오름차순으로 정렬
로우 'e'의 값을 기준으로 내림차순 정렬
두 개의 컬럼에 대해서 정렬 : 리스트로 묶어서 by의 인자값으로 전달
학생들의 점수는 50 이상 100 미만의 무작위 정수 값을 생성하여 사용
(1) 데이터프레임 생성
(2) 2016년 데이터만 별도의 데이터프레임으로 분리 저장하세요.(깊은 복사)
(3) 2016년 데이터에 대해 학생 이름을 기준으로 오름차순 정렬하세요.
(4) 2016년 데이터의 과목별 점수에 대하여 영어 점수가 높은 순서로 정렬하고, 영어 점수 동점자의 경우 수학 점수가 낮은 순서로 정렬
merge
고객 데이터 생성
딕셔너리 타입으로 데이터프레임 데이터 생성 : key:col, value-> list():row
inner merge (교집합)
outer merge (합집합)
left : 첫 번째로 전달한 데이터 프레임의 자료는 모두 살리고, 두 번째에서 교집합만
right : 두 번째로 전달한 데이터 프레임의 자료는 모두 살리고, 첫 번째에서 교집합만
공통 컬럼이 두 개 이상인 경우
특정 key를 기준으로 데이터를 합치는 것이 아니라 행, 열 기준으로 데이터를 연결
주요 파라미터
공통 인덱스 라벨을 가지는 Series 2개 생성
연결한 시리즈를 활용
예제
groupby(컬럼명)
pivot table
엑셀 자료를 pandas로 불러옵니다.
주요 통계 함수
주요 파라미터
샘플 데이터 생성