列を追加するか、同じ名前の既存の列を置き換えることで、新しい DataFrame を返します。
構文
withColumn(colName: str, col: Column)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
colName |
str | 文字列、新しい列の名前。 |
col |
コラム | 新しい列の Column 式。 |
返品
DataFrame: 新しい列または置き換えられた列を持つ DataFrame。
メモ
このメソッドは、内部的にプロジェクションを導入します。 そのため、複数の列を追加するためにループを使用して複数回呼び出すと、パフォーマンスの問題や StackOverflowExceptionを引き起こす可能性がある大きな計画が生成される可能性があります。 これを回避するには、一度に複数の列を含む select を使用します。
例示
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
df.withColumn('age2', df.age + 2).show()
# +---+-----+----+
# |age| name|age2|
# +---+-----+----+
# | 2|Alice| 4|
# | 5| Bob| 7|
# +---+-----+----+