Ch12~13. 고급 pandas & 파이썬 모델링 라이브러리

데이터웨어하우스의 경우 구별되는 값을 담고 있는 차원테이블과 그 테이블을 참조하는 정수키를 사용하는 것 일 일반적이다.

values = pd.Series([0,1,0,0]*2)

values 
>>
0    0
1    1
2    0
3    0
4    0
5    1
6    0
7    0
dtype: int64

범주형/사전형 표기법 : 정수로 표현된 값 범주, 사전, 또는 단계 데이터 : 별개의 값을 담고 있는 배열 (=categorical 데이터) 범주 코드 (=코드) : 범주형 데이터를 가리키는 정수값

범주형 표기법을 사용함녀 분석 작업에 있어서 성능 향상을 얻을 수 있다

pandas의 Categorical

fruits = ['apple','orange','apple','apple']*2
n=len(fruits)

df=pd.DataFrame({'fruit':fruits, 
                 'basket_id':np.arange(n),
                 'count':np.random.randint(3,15,size=n),
                 'weight':np.random.uniform(0,4,size=n)},
                 columns=['basket_id','fruit','count','weight'])
                 
df
>> 
    basket_id     fruit    count    weight
0        0        apple      13     2.270653
1        1       orange      12     2.199684
2        2        apple       7     1.633151
3        3        apple      11     3.259698
4        4        apple      13     2.032409
5        5       orange      10     0.481295
6        6        apple       7     2.822669
7        7        apple       6     1.411839

범주형으로 변경하는 경우 명시적으로 지정하지 않는 한 특정 순서를 보장하지 않는다. categorical은 통계 및 연산을 할 수 있다 특정 데이터셋에 대해 다양한 분석을 하는 경우, 범주형으로 변환하는 것만으로도 성능 개선할 수 있다

그룹 변환과 GroupBy 객체 풀어내기 apply 메서드 ⓐ그룹 형태로 브로드캐스트 할 수 있는 스칼라값을 생성해야 한다 ⓑ입력 그룹과 같은 형태의 객체를 반환해야 한다 ⓒ입력을 변경하지 않아야 한다

메서드 연결 기법에는 assign, pipe 메서드가 있다.

Last updated

Was this helpful?