pandas.DataFrame.unstack#
- DataFrame.unstack(level=- 1, fill_value=None)[源代码]#
透视一级(必须是分层的)索引标签。
返回具有新级别的列标签的DataFrame,该列标签的最内层由透视的索引标签组成。
如果索引不是多重索引,则输出将是系列(当列不是多重索引时,类似于堆栈)。
- 参数
- levelInt、str或列表,默认为-1(最后一级)
要取消堆叠的索引级别,可以传递级别名称。
- fill_valueInt、str或dict
如果取消堆叠产生缺失的值,则用此值替换NaN。
- 退货
- 系列或DataFrame
参见
DataFrame.pivot
根据列值透视表。
DataFrame.stack
透视一级列标签(从 unstack )。
注意事项
参考文献 the user guide 查看更多示例。
示例
>>> 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