簡體   English   中英

無法使用列屬性為 pyspark dataframe 中的列分配新值

[英]Unable to assign new value to a column in pyspark dataframe using column attribute

我有一個 pyspark dataframe event1 它有很多列,其中之一是eventAction具有分類值,如“轉換”、“簽出”等。

我想以一種方式轉換此列,使eventAction列中的“轉換”變為 1,其他類別變為 0。

這是我嘗試過的:

event1.eventAction = event1.select(F.when(F.col('eventAction') == 'conversion', 1).otherwise(0))
event1.show()

但是當執行.show()時,我沒有看到eventAction列有任何變化。

Spark 數據幀是不可變的,因此您不能直接使用. 符號。 您需要使用withColumn創建一個新的 dataframe 替換現有列。

import pyspark.sql.functions as F

event1 = event1.withColumn(
    'eventAction', 
    F.when(F.col('eventAction') == 'conversion', 1).otherwise(0)
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM