使用 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 重塑数据