根据条件将列添加到pyspark数据框

时间:2019-02-23 06:50:27

标签: python apache-spark dataframe pyspark apache-spark-sql

我的data.csv文件具有三列,如下所示。我已经将此文件转换为python spark数据框。

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

我想基于以下条件在spark数据框中添加另一列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 个答案:

答案 0 :(得分:2)

尝试这样的事情:

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