spark dataframe 如何根据条件修改某列的值 您所在的位置:网站首页 dataframe修改列的值 spark dataframe 如何根据条件修改某列的值

spark dataframe 如何根据条件修改某列的值

2023-09-07 21:09| 来源: 网络整理| 查看: 265

spark 的 dataframe 对象数据中,如何指定的列若要满足某种条件,设置特定值,否则保留原始值?

1推荐做法 推荐做法

spark sql 提供了判断条件的 when 和 otherwise 函数,以 pyspark 为例,假设 impression 列小于 40 的值都设置为 0,具体如下:

import json from pyspark.sql import SparkSession from pyspark.sql.functions import col, when spark_session = SparkSession.builder \ .appName('knowledgedict-dataframe') \ .master('local') \ .getOrCreate() df = spark_session.createDataFrame( schema=['id', 'impression', 'click', 'ctr', 'city', 'content'], data=[ (1, 100, 5, 0.05, 'beijing', ['product']), (None, 10, 3, 0.3, 'beijing', ['product', 'article']), (3, 50, 5, 0.1, 'shanghai', ['article', 'person']) ] ) print(df) df.show() df = df.withColumn('impression', when(col('impression') == 10, 0).otherwise(col('impression'))) df.show()

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有