重塑层次化索引练习
参考文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.stack.html
https://pandas.pydata.org/pandas-docs/stable/user_guide/reshaping.html#reshaping-by-stacking-and-unstacking
import numpy as np
import pandas as pd
df1 = pd.DataFrame(np.random.randint(0,5,(4,3)))
df1
0 | 1 | 2 | |
---|---|---|---|
0 | 3 | 3 | 0 |
1 | 3 | 4 | 1 |
2 | 3 | 2 | 4 |
3 | 1 | 4 | 0 |
1.将其转化为层次索引,并查看转换后的类型
df2 = df1.stack()
df2
0 0 3
1 3
2 0
1 0 3
1 4
2 1
2 0 3
1 2
2 4
3 0 1
1 4
2 0
dtype: int32
type(df2)
pandas.core.series.Series
df3 = df2.unstack()
df3
0 | 1 | 2 | |
---|---|---|---|
0 | 3 | 3 | 0 |
1 | 3 | 4 | 1 |
2 | 3 | 2 | 4 |
3 | 1 | 4 | 0 |