본문 바로가기

Programming/Spark

[Spark][Python][Function] withColumn

반응형

함수 설명

withColumn은 Apache Spark에서 제공하는 함수로, PySpark의 DataFrame에서 컬럼을 추가하거나 변형할 때 사용됩니다.

이 함수는 기존 DataFrame을 변경하지 않고 새로운 DataFrame을 생성합니다

데이터 프레임에 새로운 컬럼을 추가하거나, 기존 컬럼을 업데이트하는 데에 사용됩니다.

DataFrame.withColumn(colName, col)
  • colName: 새로운 컬럼의 이름을 나타내는 문자열입니다.
  • col: 새로운 컬럼을 생성하거나, 기존 컬럼을 변형하기 위한 PySpark의 Column 객체 또는 표현식입니다.


▪ 실행 및 결과

컬럼 추가

from pyspark.sql import SparkSession
from pyspark.sql.functions import col

# SparkSession 생성
spark = SparkSession.builder.appName("example").getOrCreate()

# 예제 DataFrame 생성
data = [("Alice", 28), ("Bob", 35), ("Catherine", 22)]
columns = ["Name", "Age"]
df = (
	spark
	.createDataFrame(data, columns)
	# withColumn을 사용하여 새로운 컬럼 추가
	.withColumn("AgePlusTen", col("Age") + 10)
)

df.show()

 

+---------+---+----------+
|     Name|Age|AgePlusTen|
+---------+---+----------+
|    Alice| 28|        38|
|      Bob| 35|        45|
|Catherine| 22|        32|
+---------+---+----------+

 

컬럼 업데이트

from pyspark.sql import SparkSession
from pyspark.sql.functions import col

# SparkSession 생성
spark = SparkSession.builder.appName("example").getOrCreate()

# 예제 DataFrame 생성
data = [("Alice", 28), ("Bob", 35), ("Catherine", 22)]
columns = ["Name", "Age"]
df = (
	spark
	.createDataFrame(data, columns)
	# withColumn을 사용하여 컬럼 업데이트
	.withColumn("Age", col("Age") + 1)
)

# 결과 확인
df.show()

 

+---------+---+
|     Name|Age|
+---------+---+
|    Alice| 29|
|      Bob| 36|
|Catherine| 23|
+---------+---+
반응형