为了账号安全,请及时绑定邮箱和手机立即绑定

pyspark 中的单热编码,连续多个 1

pyspark 中的单热编码,连续多个 1

慕姐8265434 2021-08-05 14:51:07
我有一个 Python 数据框final_df,如下所示:行具有重复ID值。如何使用 pyspark 获得如下的单热编码输出?我已将其转换为 spark 数据框:spark_df = sqlContext.createDataFrame(final_df)然后在CONCEPTS列中收集唯一值,如下所示:types = spark_df.select("CONCEPTS").distinct().rdd.flatMap(lambda x: x).collect()但是当我调用以下内容时:types_expr = [F.when((F.col("CONCEPTS") == ty), 1).otherwise(0).alias(ty) for ty in types]df = spark_df.select("ID", *types_expr)df.show()我得到以下信息:与此类似的其他问题的解决方案不会为一行产生多个 1。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信