pyspark.pandas.DataFrame.stack

DataFrame。 堆棧 ( )→聯盟(DataFrame,係列]

堆棧(s)規定的級別從列索引。

返回一個重塑DataFrame或係列有一個多層次索引與一個或多個新的當前DataFrame最隱秘的水平相比。新最隱秘的水平是由旋轉的列當前dataframe:

  • 如果列有一個水平,輸出是一個係列;

  • 如果列有多個水平,新指數水平(s)(是)從規定的級別(s)和輸出DataFrame。

新指數水平排序。

返回
DataFrame或係列

堆疊dataframe或係列。

另請參閱

DataFrame.unstack

Unstack規定水平從指數(s)軸上柱軸。

DataFrame.pivot

重塑dataframe從長格式寬格式。

DataFrame.pivot_table

創建一個spreadsheet-style DataFrame數據透視表。

筆記

函數是被類比與集合的書被重組的並排在一個水平位置(dataframe列)相互垂直疊放在上麵(dataframe的索引)。

例子

單級列

> > >df_single_level_cols=psDataFrame([[0,1),(2,3]],指數=(“貓”,“狗”),=(“重量”,“高度”])

疊加一個dataframe單層柱軸返回一個係列:

> > >df_single_level_cols體重身高貓0 1狗2 3> > >df_single_level_cols堆棧()sort_index()貓身高1重量的0狗的身高3重量2dtype: int64

多層次列:簡單情況

> > >multicol1=pdMultiIndexfrom_tuples(((“重量”,“公斤”),(“重量”,“英鎊”)))> > >df_multi_level_cols1=psDataFrame([[1,2),(2,4]],指數=(“貓”,“狗”),=multicol1)

疊加一個dataframe多級柱軸:

> > >df_multi_level_cols1重量公斤的體重貓1 2狗2 4> > >df_multi_level_cols1堆棧()sort_index()重量貓1公斤2磅狗2公斤4磅

缺失值

> > >multicol2=pdMultiIndexfrom_tuples(((“重量”,“公斤”),(“高度”,“米”)))> > >df_multi_level_cols2=psDataFrame([[1.0,2.0),(3.0,4.0]],指數=(“貓”,“狗”),=multicol2)

通常有缺失值疊加與多層次dataframe列時,隨著堆dataframe通常比原dataframe值。缺失值充滿nan:

> > >df_multi_level_cols2體重身高公斤米貓1.0 - 2.0狗3.0 - 4.0> > >df_multi_level_cols2堆棧()sort_index()身高體重貓1.0公斤南2.0米南狗3.0公斤南4.0米南