本文简要介绍
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。