Pyspark更新列的条件值来自其当前行

2024-04-28 22:58:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据条件更新列。如果条件通过,则应使用字符串+当前行的其他列对其进行更新

updated_df = original_df
    .withColumn(
        "url", F.when(original_df.id == 13, "something/{}".format(?) -> I want the current row's 'name' column value here.
    )
    .otherwise(original_df.url)
)

这是正确的方法吗


1条回答
网友
1楼 · 发布于 2024-04-28 22:58:37

您可以使用pyspark.sql中的format_string方法。函数:doc


updated_df = original_df
    .withColumn(
        "url", F.when(original_df.id == 13, F.format_string("something/%s", original_df.col_name)
    )
    .otherwise(original_df.url)
)


相关问题 更多 >