добавление нового столбца в фрейм данных pyspark на основе другого столбца - PullRequest
1 голос
/ 09 апреля 2020

Я хотел бы добавить новый столбец в фрейм данных на основе другого столбца, используя WHEN. У меня есть следующий код:

from pyspark.sql.functions import col, expr, when
df2=df.withColumn("test1",when(col("Country")=="DE","EUR").when(col("Country")=="PL","PLN").otherweise("Unknown"))

, но я получаю ошибку: 'Column' object is not callable Как я могу решить проблему?

1 Ответ

1 голос
/ 09 апреля 2020

В вашем заявлении есть опечатка .

  • otherweise изменить на otherwise

df=spark.createDataFrame([("DE",),("PL",),("PO",)],["Country"])
df.withColumn("test1",when(col("country") == "DE", "EUR").when(col("country") == "PL", "PLN").otherwise("Unknown")).show()
#+-------+-------+
#|Country|  test1|
#+-------+-------+
#|     DE|    EUR|
#|     PL|    PLN|
#|     PO|Unknown|
#+-------+-------+
...