pyspark.pandas.DataFrame.transpose

DataFrame。 轉置 ( )→pyspark.pandas.frame.DataFrame

轉置索引和列。

反映了對其主對角線DataFrame通過編寫行和列,反之亦然。房地產T是一個訪問器方法置()

請注意

這種方法是基於一項昂貴的操作由於大數據的性質。內部需要為每個值生成每一行,然後組織兩次——這是一個巨大的操作。為了防止誤用,這種方法的計算。max_rows默認的輸入長度限製,引發了ValueError。

> > >pyspark.pandas.config進口option_context> > >option_context(“compute.max_rows”,1000年):psDataFrame({“一個”:範圍(1001年)})轉置()回溯(最近的電話):ValueError:當前DataFrame超過給定的限製1000行。請設定計算。max_rows”通過“pyspark.pandas.config.set_option”檢索檢索超過1000行。注意,在改變之前“compute.max_rows”,this operation is considerably expensive.
返回
DataFrame

轉置DataFrame。

筆記

置換與混合DataFrame dtypes將導致一個齊次DataFrame強迫dtype。例如,如果int和浮動必須放置在同一列,它變成浮動。如果強製類型轉換是不可能的,它失敗了。

同時,注意索引的值應該是唯一的,因為他們成為獨特的列名。

此外,如果使用火花2.3,類型應該是完全相同的。

例子

廣場與齊次dtype DataFrame

> > >d1={“col1”:(1,2),“col2”:(3,4]}> > >df1=psDataFrame(數據=d1,=(“col1”,“col2”])> > >df1col1 col20 1 31 2 4
> > >df1_transposed=df1Tsort_index()> > >df1_transposed0 1col1 1 2col2 3 4

當dtype原始DataFrame均勻,我們得到一個相同的轉置DataFrame dtype:

> > >df1dtypescol1 int64col2 int64dtype:對象> > >df1_transposeddtypes0 int641 int64dtype:對象

方陣DataFrame dtypes喜憂參半

> > >d2={“分數”:(9.5,8),“孩子”:(0,0),“年齡”:(12,22]}> > >df2=psDataFrame(數據=d2,=(“分數”,“孩子”,“年齡”])> > >df2分數的孩子年齡9.5 0 0 121 8.0 0 22
> > >df2_transposed=df2Tsort_index()> > >df2_transposed0 1年齡12.0 - 22.0孩子0.0 - 0.0得分9.5 - 8.0

當DataFrame dtypes混合,得到的轉置DataFrame強迫dtype:

> > >df2dtypes分數float64孩子int64年齡int64dtype:對象
> > >df2_transposeddtypes0 float641 float64dtype:對象