本文簡要介紹
pyspark.pandas.DataFrame.stack
的用法。用法:
DataFrame.stack() → Union[DataFrame, Series]
將列中的規定級別堆疊到索引。
返回一個重塑的 DataFrame 或具有 multi-level 索引的係列,與當前 DataFrame 相比,具有一個或多個新的最內部級別。新的最內層是通過旋轉當前數據幀的列來創建的:
如果列有一個級別,則輸出是一個係列;
如果列有多個級別,則新的索引級別是從規定的級別獲取的,並且輸出是一個 DataFrame。
新的索引級別已排序。
- DataFrame 或係列
堆疊的 DataFrame 或係列。
返回:
注意:
該函數的命名類似於將書籍集合從水平位置並排( DataFrame 的列)重新組織到彼此垂直堆疊(在 DataFrame 的索引中)。
例子:
單層柱
>>> df_single_level_cols = ps.DataFrame([[0, 1], [2, 3]], ... index=['cat', 'dog'], ... columns=['weight', 'height'])
用單層列軸堆疊 DataFrame 會返回一個係列:
>>> df_single_level_cols weight height cat 0 1 dog 2 3 >>> df_single_level_cols.stack().sort_index() cat height 1 weight 0 dog height 3 weight 2 dtype: int64
多級列:簡單案例
>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'), ... ('weight', 'pounds')]) >>> df_multi_level_cols1 = ps.DataFrame([[1, 2], [2, 4]], ... index=['cat', 'dog'], ... columns=multicol1)
使用 multi-level 列軸堆疊 DataFrame :
>>> df_multi_level_cols1 weight kg pounds cat 1 2 dog 2 4 >>> df_multi_level_cols1.stack().sort_index() weight cat kg 1 pounds 2 dog kg 2 pounds 4
缺失值
>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'), ... ('height', 'm')]) >>> df_multi_level_cols2 = ps.DataFrame([[1.0, 2.0], [3.0, 4.0]], ... index=['cat', 'dog'], ... columns=multicol2)
在使用multi-level 列堆疊數據幀時,通常會出現缺失值,因為堆疊的數據幀通常比原始數據幀具有更多的值。缺失值用 NaN 填充:
>>> df_multi_level_cols2 weight height kg m cat 1.0 2.0 dog 3.0 4.0 >>> df_multi_level_cols2.stack().sort_index() height weight cat kg NaN 1.0 m 2.0 NaN dog kg NaN 3.0 m 4.0 NaN
相關用法
- Python pyspark DataFrame.style用法及代碼示例
- Python pyspark DataFrame.std用法及代碼示例
- Python pyspark DataFrame.storageLevel用法及代碼示例
- Python pyspark DataFrame.sum用法及代碼示例
- Python pyspark DataFrame.sort_index用法及代碼示例
- Python pyspark DataFrame.sem用法及代碼示例
- Python pyspark DataFrame.sort_values用法及代碼示例
- Python pyspark DataFrame.sampleBy用法及代碼示例
- Python pyspark DataFrame.select用法及代碼示例
- Python pyspark DataFrame.spark.to_table用法及代碼示例
- Python pyspark DataFrame.sortWithinPartitions用法及代碼示例
- Python pyspark DataFrame.skew用法及代碼示例
- Python pyspark DataFrame.spark.frame用法及代碼示例
- Python pyspark DataFrame.set_index用法及代碼示例
- Python pyspark DataFrame.sub用法及代碼示例
- Python pyspark DataFrame.shape用法及代碼示例
- Python pyspark DataFrame.sample用法及代碼示例
- Python pyspark DataFrame.spark.cache用法及代碼示例
- Python pyspark DataFrame.schema用法及代碼示例
- Python pyspark DataFrame.spark.persist用法及代碼示例
- Python pyspark DataFrame.size用法及代碼示例
- Python pyspark DataFrame.spark.to_spark_io用法及代碼示例
- Python pyspark DataFrame.show用法及代碼示例
- Python pyspark DataFrame.summary用法及代碼示例
- Python pyspark DataFrame.spark.coalesce用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.stack。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。