pandas로 데이터 재구조화하기
Maria Eugenia Inzaugarat
Data Scientist
하위 그룹의 레이블이 동일하지 않음
animals
jump run fly
class order name
Mammalia carnivora dog No Yes No
Diprotodontia Kangaroo Yes No No
Aves hervibora bird No No Yes
하위 그룹의 레이블이 동일하지 않음
animals
jump run fly
class order name
Mammalia carnivora dog No Yes No <--
Diprotodontia Kangaroo Yes No No
Aves hervibora bird No No Yes
하위 그룹의 레이블이 동일하지 않음
animals.unstack(level='class')
jump run fly
clas Aves Mammalia Aves Mammalia Aves Mammalia
order name
Diprotodontia Kangaroo NaN Yes NaN No NaN No
carnivora Dog NaN No NaN Yes NaN No
Charadriiformes Avocet No NaN No NaN Yes NaN
하위 그룹의 레이블이 동일하지 않음
animals.unstack(level='class')
jump run fly
clas Aves Mammalia Aves Mammalia Aves Mammalia
order name
Diprotodontia Kangaroo NaN Yes NaN No NaN No
-----------------------------
carnivora Dog NaN <-- No NaN Yes NaN No
-----------------------------
Charadriiformes Avocet No NaN No NaN Yes NaN
animals.unstack(level='class', fill_value= )
animals.unstack(level='class', fill_value='No')
animals.unstack(level='class', fill_value='No').sort_index(level=['order', 'name'], ascending=[True, False])
jump run fly
clas Aves Mammalia Aves Mammalia Aves Mammalia
order name
Diprotodontia Kangaroo No Yes No No No No
carnivora Dog No No No Yes No No
Charadriiformes Avocet No No No No Yes No
원본 DataFrame에 없는 인덱스·열 조합
flowers
petals Stigma
number size
rose 40 NaN
Lily 8 5
원본 DataFrame에 없는 인덱스·열 조합
flowers.stack()
Stigma petals
rose number NaN 40.0
Lily number NaN 8.0
size 5 NaN
원본 DataFrame에 없는 인덱스·열 조합
flowers.stack(dropna=True)
Stigma petals
rose number NaN 40.0
Lily number NaN 8.0
size 5 NaN
원본 DataFrame에 없는 인덱스·열 조합
flowers.stack(dropna=False)
Stigma petals
rose number NaN 40.0
size NaN NaN <--
Lily number NaN 8.0
size 5 NaN
flowers.stack(dropna=False).fillna(0)
Stigma petals
rose number 0 40.0
size 0 0
Lily number 0 8.0
size 5 0
pandas로 데이터 재구조화하기