根据条件向pyspark dataframe添加列

5

我的 data.csv 文件有三列,如下所示。我已将此文件转换为Python的Spark DataFrame。

  A   B    C
| 1 | -3 | 4 |
| 2 | 0  | 5 |
| 6 | 6  | 6 |

我想在Spark DataFrame中添加另一列D,其值根据以下条件为Yes或No:如果B列对应的值大于0,则为Yes,否则为No。

  A   B    C   D
| 1 | -3 | 4 | No  |
| 2 | 0  | 5 | No  |
| 6 | 6  | 6 | Yes |

我无法通过PySpark数据框架操作来实现这个。

1个回答

22

试试像这样:

from pyspark.sql import functions as f
df.withColumn('D', f.when(f.col('B') > 0, "Yes").otherwise("No")).show()

2
你可以直接导入col,避免使用f.when。在某些情况下,我发现这样写更加简洁。 - Jorge Tovar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接