DataFrame.stack(level=- 1, dropna=True)[source]
从列到索引堆叠指定级别。
返回一个经过重整的DataFrame或Series,与当前DataFrame相比,该DataFrame或Series具有一个或多个新的最内层的多层索引。通过旋转当前DataFrame的列来创建新的最内层:
1) 如果列具有单个级别,则输出为Series;
2) 如果列具有多个级别,则新索引级别取自指定级别,并且输出为DataFrame。
参数:level:int, str, list, 默认为 -1
从列轴堆叠到索引轴,定义为一个索引或标签,
或一列索引或标签。
dropna:bool, 默认为 True
是否删除结果Frame/Series中缺少值的行。
将列级堆叠到索引轴上,
可以创建原始dataframe中缺少的索引和列值的组合。
看到部分例子。
返回值:DataFrame 或 Series
Stacked dataframe 或 series.
Notes
该函数以类推的方式命名,其含义是将书籍的集合从水平位置(dataframe的列)并排排列成彼此垂直堆叠(在dataframe的索引中)。
例子
单级列>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],
... index=['cat', 'dog'],
... columns=['weight',