根据条件[copy]将列添加到pyspark数据帧

问题描述 投票:0回答:1

这个问题在这里已有答案:

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

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

我想在spark数据帧中添加另一个列D,其值为Yes或No,基于如果B列中的对应值大于0的条件则为是否则为No.

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

我无法通过PySpark数据帧操作实现这一点。

python apache-spark dataframe pyspark apache-spark-sql
1个回答
2
投票

尝试这样的事情:

from pyspark.sql import functions as f
df.withColumn('D', f.when(f.col('B') > 0, "Yes").otherwise("No")).show()
© www.soinside.com 2019 - 2024. All rights reserved.