本文簡要介紹
pyspark.pandas.DataFrame.pivot_table
的用法。用法:
DataFrame.pivot_table(values: Union[Any, Tuple[Any, …], List[Union[Any, Tuple[Any, …]]], None] = None, index: Optional[List[Union[Any, Tuple[Any, …]]]] = None, columns: Union[Any, Tuple[Any, …], None] = None, aggfunc: Union[str, Dict[Union[Any, Tuple[Any, …]], str]] = 'mean', fill_value: Optional[Any] = None) → pyspark.pandas.frame.DataFrame
創建電子表格樣式的數據透視表作為 DataFrame。數據透視表中的級別將存儲在結果 DataFrame 的索引和列上的 MultiIndex 對象(分層索引)中。
- values:要聚合的列。
它們應該是少於三個的列表或字符串。
- index:列(字符串)或列列表
如果傳遞一個數組,它必須與數據的長度相同。該列表應包含字符串。
- columns:柱子
透視操作中使用的列。隻支持一列,它應該是一個字符串。
- aggfunc:函數(字符串),dict,默認均值
如果 dict 被傳遞,鍵是要聚合的列,值是函數或函數列表。
- fill_value:標量,默認無
替換缺失值的值。
- table:DataFrame
參數:
返回:
例子:
>>> df = ps.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo", ... "bar", "bar", "bar", "bar"], ... "B": ["one", "one", "one", "two", "two", ... "one", "one", "two", "two"], ... "C": ["small", "large", "large", "small", ... "small", "large", "small", "small", ... "large"], ... "D": [1, 2, 2, 3, 3, 4, 5, 6, 7], ... "E": [2, 4, 5, 5, 6, 6, 8, 9, 9]}, ... columns=['A', 'B', 'C', 'D', 'E']) >>> df A B C D E 0 foo one small 1 2 1 foo one large 2 4 2 foo one large 2 5 3 foo two small 3 5 4 foo two small 3 6 5 bar one large 4 6 6 bar one small 5 8 7 bar two small 6 9 8 bar two large 7 9
第一個示例通過求和來聚合值。
>>> table = df.pivot_table(values='D', index=['A', 'B'], ... columns='C', aggfunc='sum') >>> table.sort_index() C large small A B bar one 4.0 5 two 7.0 6 foo one 4.0 1 two NaN 6
我們還可以使用
fill_value
參數填充缺失值。>>> table = df.pivot_table(values='D', index=['A', 'B'], ... columns='C', aggfunc='sum', fill_value=0) >>> table.sort_index() C large small A B bar one 4 5 two 7 6 foo one 4 1 two 0 6
我們還可以為任何給定的值列計算多種類型的聚合。
>>> table = df.pivot_table(values=['D'], index =['C'], ... columns="A", aggfunc={'D': 'mean'}) >>> table.sort_index() D A bar foo C large 5.5 2.000000 small 5.5 2.333333
下一個示例聚合多個值。
>>> table = df.pivot_table(index=['C'], columns="A", values=['D', 'E'], ... aggfunc={'D': 'mean', 'E': 'sum'}) >>> table.sort_index() D E A bar foo bar foo C large 5.5 2.000000 15 9 small 5.5 2.333333 17 13
相關用法
- Python pyspark DataFrame.pivot用法及代碼示例
- 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_table。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。