pyspark dataframe vector转array 保存到csv文件

test_df.printSchema()

root
 |-- features: vector (nullable = true)
 |-- output: double (nullable = true)
 |-- prediction: double (nullable = false)

vector_udf = F.udf(lambda vector: vector.toArray().tolist(), ArrayType(FloatType()))
flattened_df = test_df.withColumn('col1', vector_udf('features'))

flattened_df.printSchema()

root
 |-- features: vector (nullable = true)
 |-- output: double (nullable = true)
 |-- prediction: double (nullable = false)
 |-- col1: array (nullable = true)
 |    |-- element: float (containsNull = true)


 

list4tojson = ['col1']
#保存文件
flattened_df.select('output', *[F.to_json(x) for x in list4tojson]).coalesce(1).write.csv('test_001.csv')

save_df=flattened_df.select('output',"prediction", *[F.to_json(x) for x in list4tojson])

save_df.printSchema()


root
 |-- output: double (nullable = true)
 |-- prediction: double (nullable = false)
 |-- to_json(col1): string (nullable = true)


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值