本文简要介绍
pyspark.pandas.DataFrame.pivot
的用法。用法:
DataFrame.pivot(index: Union[Any, Tuple[Any, …], None] = None, columns: Union[Any, Tuple[Any, …], None] = None, values: Union[Any, Tuple[Any, …], None] = None) → pyspark.pandas.frame.DataFrame
返回按给定索引/列值组织的重塑DataFrame。
根据列值重塑数据(生成“pivot” 表)。使用指定
index
/columns
中的唯一值来形成结果 DataFrame 的轴。该函数不支持数据聚合。- index:字符串,可选
用于制作新框架索引的列。如果没有,则使用现有索引。
- columns:string
用于制作新框架的列的列。
- values:字符串、对象或前一个列表
用于填充新框架值的列。
- DataFrame
返回重构的 DataFrame。
参数:
返回:
例子:
>>> df = ps.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', ... 'two'], ... 'bar': ['A', 'B', 'C', 'A', 'B', 'C'], ... 'baz': [1, 2, 3, 4, 5, 6], ... 'zoo': ['x', 'y', 'z', 'q', 'w', 't']}, ... columns=['foo', 'bar', 'baz', 'zoo']) >>> df foo bar baz zoo 0 one A 1 x 1 one B 2 y 2 one C 3 z 3 two A 4 q 4 two B 5 w 5 two C 6 t
>>> df.pivot(index='foo', columns='bar', values='baz').sort_index() ... bar A B C foo one 1 2 3 two 4 5 6
>>> df.pivot(columns='bar', values='baz').sort_index() bar A B C 0 1.0 NaN NaN 1 NaN 2.0 NaN 2 NaN NaN 3.0 3 4.0 NaN NaN 4 NaN 5.0 NaN 5 NaN NaN 6.0
请注意,与 pandas 在发现重复值时引发 ValueError 不同,pandas-on-Spark 的数据透视表仍然以其在操作期间遇到的第一个值工作,因为数据透视表是一项昂贵的操作,并且在处理时首选允许执行而不是快速失败大数据。
>>> df = ps.DataFrame({"foo": ['one', 'one', 'two', 'two'], ... "bar": ['A', 'A', 'B', 'C'], ... "baz": [1, 2, 3, 4]}, columns=['foo', 'bar', 'baz']) >>> df foo bar baz 0 one A 1 1 one A 2 2 two B 3 3 two C 4
>>> df.pivot(index='foo', columns='bar', values='baz').sort_index() ... bar A B C foo one 1.0 NaN NaN two NaN 3.0 4.0
它还支持多索引和多索引列。 >>> df.columns = pd.MultiIndex.from_tuples([(‘a’, ‘foo’), (‘a’, ‘bar’), (‘b’, ‘baz’)])
>>> df = df.set_index(('a', 'bar'), append=True) >>> df a b foo baz (a, bar) 0 A one 1 1 A one 2 2 B two 3 3 C two 4
>>> df.pivot(columns=('a', 'foo'), values=('b', 'baz')).sort_index() ... ('a', 'foo') one two (a, bar) 0 A 1.0 NaN 1 A 2.0 NaN 2 B NaN 3.0 3 C NaN 4.0
相关用法
- Python pyspark DataFrame.pivot_table用法及代码示例
- Python pyspark DataFrame.pipe用法及代码示例
- Python pyspark DataFrame.plot.bar用法及代码示例
- Python pyspark DataFrame.printSchema用法及代码示例
- Python pyspark DataFrame.pandas_on_spark.apply_batch用法及代码示例
- Python pyspark DataFrame.plot.area用法及代码示例
- Python pyspark DataFrame.plot.line用法及代码示例
- Python pyspark DataFrame.plot.hist用法及代码示例
- Python pyspark DataFrame.pandas_on_spark.transform_batch用法及代码示例
- Python pyspark DataFrame.plot.barh用法及代码示例
- Python pyspark DataFrame.prod用法及代码示例
- Python pyspark DataFrame.plot.pie用法及代码示例
- Python pyspark DataFrame.plot.density用法及代码示例
- Python pyspark DataFrame.plot.scatter用法及代码示例
- Python pyspark DataFrame.pop用法及代码示例
- Python pyspark DataFrame.pow用法及代码示例
- Python pyspark DataFrame.pad用法及代码示例
- Python pyspark DataFrame.pct_change用法及代码示例
- Python pyspark DataFrame.product用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataFrame.align用法及代码示例
- Python pyspark DataFrame.to_delta用法及代码示例
- Python pyspark DataFrame.quantile用法及代码示例
- Python pyspark DataFrame.cumsum用法及代码示例
- Python pyspark DataFrame.iloc用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.pivot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。