pandas.DataFrame.unstack #
- 数据框。unstack ( level = -1 , fill_value = None , sort = True ) [来源] #
透视索引标签的一个级别(必须是分层的)。
返回具有新级别列标签的 DataFrame,其最内层由旋转索引标签组成。
如果索引不是 MultiIndex,则输出将是一个 Series(当列不是 MultiIndex 时类似于堆栈)。
- 参数:
- level int、str 或它们的列表,默认 -1(最后一级)
要取消堆栈的索引级别,可以传递级别名称。
- fill_value int、str 或 dict
如果 unstack 产生缺失值,请将 NaN 替换为该值。
- 排序bool,默认 True
对生成的 MultiIndex 列中的级别进行排序。
- 返回:
- 系列或数据框
也可以看看
DataFrame.pivot
根据列值透视表。
DataFrame.stack
旋转列标签的级别(来自unstack 的逆操作)。
笔记
请参阅用户指南以获取更多示例。
例子
>>> 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