반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- google apps script
- Java
- array
- gas
- Tkinter
- Python
- GIT
- Mac
- Excel
- string
- matplotlib
- Github
- Google Excel
- dataframe
- django
- 파이썬
- Apache
- c#
- PostgreSQL
- list
- math
- PANDAS
- numpy
- Redshift
- hive
- PySpark
- Google Spreadsheet
- Kotlin
- SQL
Archives
- Today
- Total
달나라 노트
Python pyspark : withColumn (spark dataframe에 새로운 컬럼 추가하기) 본문
Python/Python pyspark
Python pyspark : withColumn (spark dataframe에 새로운 컬럼 추가하기)
CosmosProject 2021. 5. 19. 05:26728x90
반응형
spark dataframe의 어떤 컬럼의 모든 값에 1을 더한 값을 새로운 컬럼으로 추가하고 싶은 상황에선 어떻게 해야할까요?
withColumn method를 사용하면 됩니다.
from pyspark.sql import SparkSession
from pyspark.sql.functions import col
import pandas as pd
spark = SparkSession.builder.getOrCreate()
df_test = pd.DataFrame({
'a': [1, 2, 3],
'b': [10.0, 3.5, 7.315],
'c': ['apple', 'banana', 'tomato']
})
df_spark = spark.createDataFrame(df_test)
df_spark_new = df_spark.withColumn( # 1
'd', df_spark.a + 1
)
df_spark_new = df_spark_new.withColumn( # 2
'd', col('a') + 2
)
def my_func(x):
return x + 3
df_spark_new = df_spark_new.withColumn( # 3
'd', my_func(df_spark_new.a)
)
df_spark_new = df_spark_new.withColumn( # 3
'd', my_func(col('a'))
)
df_spark_new.show()
-- Result
+---+------+-------+---+---+---+---+
| a| b| c| d| e| f| g|
+---+------+-------+---+---+---+---+
| 1| 10.0| apple| 2| 3| 4| 4|
| 2| 3.5| banana| 3| 4| 5| 5|
| 3| 7.315| tomato| 4| 5| 6| 6|
+---+------+-------+---+---+---+---+
1. withColumn(<new_column_name>, <original_column>)와 같은 구문을 사용할 수 있습니다.
위 예시 코드를 해석해보면
df_spark dataframe에 'd'라는 컬럼을 추가하고
이 컬럼에는 df_spark dataframe에 있는 'a' 컬럼의 모든 값에 1을 더한 값을 넣으라는 뜻이죠.
2. 마찬가지로 col 키워드도 사용 가능합니다.
3. 함수도 적용 가능합니다.
728x90
반응형
'Python > Python pyspark' 카테고리의 다른 글
Comments