본문 바로가기

Tech Stack/AICE - Associate

AICE - associate - 4 pandas 2

 

drop 데이터를 지욱

axis = 1, 0

행(0)기준 열(1)기준 설정하기

defult는 0

 

원본데이터를 다른이름으로 저장하지 않고 덮어쓰는 방법

inplace=Ture
원본데이터를 변경하겠다.

Group by 하나로 묶음

 

분할 - 적용 - 데이터 병합

 

pivot, pivot_tavle 데이터 프레임 형태를 변경

사전적 의미. 축을 중심으로 회전

col, row 기준으로 변형

 

기본적으로는 같은 기능을 하지만 table은 aggfunc이 있음

 

pivot은 불가하고 pivot table은 가능한 경우

index가 2개 이상인 경우 - columns가 2개 이상인 경우 - 중복 값이 있는 경우

 

stack, unstack

 

 

 

groupby groups속성

 

groups를 활용해서 확인 가능

 

count 데이터 개수

size 집단별 크기

sum, mean, std, var

min max

 

 

복수 columns기준으로 그루핑

 

cust.groupby(['cust_class', 'sex_type']).mean~

 

조금더 원하는 데이터를 상세하게 알 수 있음

 

set_index 인덱스 셋

reset_index 인덱스 리셋

 

 

어떤 레벨에서 할 건지 정의

groupby level = 0

groupby level = 0, 1

첫번째 클래스를 기준으로 계산함

 

aggregate 집계함수

 

pivot, pivot table

데이터를 확인하기 어려움

 

가독성이 좋음

 

pivot_table

인덱스 2개 pivot 불가능

pivot_table은 가능

 

값이 없을땐 NaN으로 나옴

pivot은 중복값이 에러

pivot_table은 잘 나타냄

 

aggfunc=np.sum

sum구하기

 

.unstack(0)

첫번째 레벨의 인덱스(지역)을 컬럼으로 이동 / 인덱스도 레벨이 있음

 

unstack(1)

.unstack(0).stack(0)

차이점 제대로 알아두기.

 

 

concat함수

데이터 속성이 동일한 데이터 set끼리 합치는 경우 사용

DataFrame을 단순히 합칠 때 사용

ex 월별, 년도별

 

ignore_idex = False

기존의 데이터프레임 1번 2번 변경없이 합쳐짐

(기존의 인덱스를 유지할 때)

Ture

무시하고 새로운 인텍스를 세팅하고 두개의 데이터를 합침

axis(1)

왼쪽에서 오른쪽으로 합침

axis(0)

위+아래로 합침

 

column명이 다른경우

outer 합칩합

inner 교집합

 

중복된 인덱스 경우

verify_integrity = False

중복된 경우 에러 발생x

True인 경우 에러 발생

 

 

 

 

merge함수

두 데이터프레임을 공통된 항목을 기준으로 합치는 것

 

merge & join함수 활용

 

DataFrame merge

 

inner: 기본 방법. 일치하는 경우 있는 경우

left: left outer join(왼쪽을 기준으로 오른쪽을 채움 - 오른쪽 데이터 없으면 NaN)

outer : full outer join (Left와 Rigth를 합친 것)

 

on옵션

 

inner

 

outer : left rigth 합친 (합집합)

 

 

index기준으로 join하기

left_index=True, right_index=True

 

sort_values(by = 'quantity', ascending=False)

sort_value를 이용하여 quantitiy를 기준으로 sort + 내림차순으로 정렬

 

영희만 확인

 

join

 

cust1.join(order1, how='inner')