當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PySpark DataFrame withColumn方法用法及代碼示例


PySpark DataFrame 的 withColumn(~) 方法可用於:

  • 添加新列

  • 更新現有列

參數

1. colName | string

新列的標簽。如果 colName 已存在,則提供的 col 將更新現有列。如果colName不存在,則col將是一個新列。

2. col | Column

新專欄。

返回值

PySpark 數據幀 (pyspark.sql.dataframe.DataFrame)。

例子

考慮以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 25], ["Bob", 30], ["Cathy", 50]], ["name", "age"])
df.show()



+-----+---+
| name|age|
+-----+---+
| Alex| 25|
|  Bob| 30|
|Cathy| 50|
+-----+---+

根據PySpark中的原始列值更新列值

要更新現有列,請提供其列標簽作為第一個參數:

df.withColumn("age", 2 * df.age).show()



+-----+---+
| name|age|
+-----+---+
| Alex| 50|
|  Bob| 60|
|Cathy|100|
+-----+---+

請注意,您必須傳入 Column 對象作為第二個參數,因此您不能簡單地使用列表作為新列值。

向 PySpark DataFrame 添加新列

要添加帶有 0 的新列 AGEE

import pyspark.sql.functions as F
df.withColumn("AGEE", F.lit(0)).show()



+-----+---+----+
| name|age|AGEE|
+-----+---+----+
| Alex| 25|   0|
|  Bob| 30|   0|
|Cathy| 50|   0|
+-----+---+----+

這裏, F.lit(0) 返回一個包含0Column 對象。請注意,由於列標簽不區分大小寫,因此如果您傳入 "AGE" 作為第一個參數,最終會覆蓋 age 列。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | withColumn method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。