DataFrame.unstack(level=-1, fill_value=None) [source]
Pivot(必要的分层)索引标签的一个级别。
返回具有列标签新级别的DataFrame,其最内部级别由pivoted索引标签组成。
如果索引不是多索引,则输出将是一个Series(当列不是多索引时,类似于stack)。
参数: | level : 要unstack的索引级别,可以通过级别名称。 fill_value : 如果unstack产生缺少的值,请用该值替换 |
返回值: | Series 或 DataFrame |
例子
>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),
... ('two', 'a'), ('two', 'b')])
>>> s = pd.Series(np.arange(1.0, 5.0), index=index)
>>> s
one a 1.0
b 2.0
two a 3.0
b 4.0
dtype: float64
>>> s.unstack(level=-1)
a b
one 1.0 2.0
two 3.0 4.0
>>> s.unstack(level=0)
one two
a 1.0 3.0
b 2.0 4.0
>>> df = s.unstack(level=0)
>>> df.unstack()
one a 1.0
b 2.0
two a 3.0
b 4.0
dtype: float64