pyspark.pandas.DataFrame.pivot_table

DataFrame。 pivot_table ( :聯盟(任何元組(,…),列表(聯盟[任何元組[,…]]],沒有)=沒有一個,指數:可選(列表(聯盟(任何元組[,…]]]]=沒有一個,:(任何工會,Tuple,…,沒有)=沒有一個,aggfunc:聯盟(str, Dict[聯盟[任何元組[,…]],str]]=“的意思是”,fill_value:可選(任何]=沒有一個 )→pyspark.pandas.frame.DataFrame

創建一個spreadsheet-style DataFrame數據透視表。數據透視表的水平將存儲在MultiIndex對象(分層索引)DataFrame索引和列的結果。

參數
列聚合。

他們應該不到三個列表或一個字符串。

指數 列(string)或列的列表

如果數組傳遞,它必須相同長度的數據。應該包含字符串列表。

列中使用主操作。隻支持一列,它應該是一個字符串。

aggfunc 函數(字符串),附帶意見,默認的意思

如果dict傳遞,關鍵是列聚合和價值函數或函數的列表。

fill_value 標量,默認沒有

值來代替缺失值。

返回
DataFrame

例子

> > >df=psDataFrame({“一個”:(“foo”,“foo”,“foo”,“foo”,“foo”,“酒吧”,“酒吧”,“酒吧”,“酒吧”),“B”:(“一”,“一”,“一”,“兩個”,“兩個”,“一”,“一”,“兩個”,“兩個”),“C”:(“小”,“大”,“大”,“小”,“小”,“大”,“小”,“小”,“大”),“D”:(1,2,2,3,3,4,5,6,7),“E”:(2,4,5,5,6,6,8,9,9)},=(“一個”,“B”,“C”,' D ',“E”])> > >dfA B C D E0 foo一小1 21 foo一個大2 42 foo一個大2 53 foo兩個小3 54 foo兩個小3 65條一個大4 66條一個小5 87條兩個小6 98條兩大7 9

第一個例子聚合值之和。

> > >=dfpivot_table(=' D ',指數=(“一個”,“B”),=“C”,aggfunc=“和”)> > >sort_index()C大的小一個B酒吧的一個4.0 - 5兩個7.0 6foo一4.0 - 1兩個南6

我們也可以填補缺失值使用fill_value參數。

> > >=dfpivot_table(=' D ',指數=(“一個”,“B”),=“C”,aggfunc=“和”,fill_value=0)> > >sort_index()C大的小一個B酒吧一個4 5兩個7 6foo 1 4 1兩個0 6

我們也可以計算多種類型的聚合為任何給定的值列。

> > >=dfpivot_table(=(' D '),指數=(“C”),=“一個”,aggfunc={' D ':“的意思是”})> > >sort_index()D一個酒吧fooC大5.5 - 2.000000小5.5 - 2.333333

下一個示例聚合多個值。

> > >=dfpivot_table(指數=(“C”),=“一個”,=(' D ',“E”),aggfunc={' D ':“的意思是”,“E”:“和”})> > >sort_index()D E酒吧foo酒吧fooC大5.5 - 2.000000 15 9小5.5 - 2.333333 17 13