【问题标题】:how to add new column in pyspark and put its values based on other column?如何在 pyspark 中添加新列并根据其他列放置其值?
【发布时间】:2020-08-09 16:49:16
【问题描述】:

我有一个数据集如下nogk is a data frame with mutliple columns。现在我想创建一个新列filed_position,它只需要基于位置的3个值。the new column can only take 3 values defender,forward or middle。解决问题的最佳方法是什么。我应该使用以下代码或循环彻底定位code i used ,but i need to get "DEF"for all values which are in DEFENDER list

【问题讨论】:

  • 而不是链接。你能把你的代码和一些上下文放在这里吗?

标签: python pyspark unsupervised-learning


【解决方案1】:

要将值与提供的列表进行比较,您需要使用 isin 函数 w=在链接时进行多重比较..

nogk=nogk.withColumn('Field Position',F.when((F.col('Position').isin(DEFENDER),'DEF').when(
F.col('Position').isin(FORWARD),'FWD').when(
F.col('Position').isin(MIDDLE),'MID').otherwise(F.lit('0'))

其中 DEFENDER、FORWARD 和 MIDDLE 是您要比较的值列表。

希望对你有帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多