本文簡要介紹
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。