pyspark.pandas.DataFrame.assign

DataFrame。 分配 ( * *kwargs:任何 )→pyspark.pandas.frame.DataFrame

DataFrame分配新列。

返回一個新的對象和所有原始列除了新的。現有的列重新分配將被覆蓋。

參數
* * kwargs {str:可調用,係列的dict或索引}

列名稱關鍵字。如果值是可調用的,他們在DataFrame計算和分配給新的列。可調用不能改變輸入DataFrame(盡管pandas-on-Spark不檢查它)。如果值不是可調用的,(如係列或文字),他們隻是分配。

返回
DataFrame

一個新DataFrame新列除了所有現有的列。

筆記

在相同的指定多個列分配可能是有的,但你不能引用新創建或修改列。該特性支持大熊貓pandas-on-Spark Python 3.6和以後而不是。在pandas-on-Spark,所有項目計算第一,然後分配。

例子

> > >df=psDataFrame({“temp_c”:(17.0,25.0)},指數=(“開拓者”,加州大學伯克利分校的])> > >dftemp_c波特蘭17.0伯克利25.0

值是一個可調用的,評估df:

> > >df分配(temp_f=λx:xtemp_c*9/5+32)temp_c temp_f波特蘭17.0 - 62.6伯克利25.0 - 77.0

另外,相同的行為可以通過直接引用現有的係列或序列和您還可以創建多個列在同一個分配。

> > >分配=df分配(temp_f=df(“temp_c”]*9/5+32,temp_k=df(“temp_c”]+273.15,temp_idx=df指數)> > >分配[[“temp_c”,“temp_f”,“temp_k”,“temp_idx”]]temp_c temp_f temp_k temp_idx波特蘭開拓者17.0 62.6 290.15伯克利25.0 77.0 298.15伯克利