apache-spark - 如何从结构转换 DataFrame 列构造> 在 pyspark 中?
问题描述
我有一个具有这种结构的 DataFrame:
root
|-- features: struct (nullable = true)
| |-- value: double (nullable = true)
我想将双精度类型的值转换为“数组值”类型。我怎样才能做到这一点?
解决方案
您可以使用结构和数组显式指定转换:
import pyspark.sql.functions as F
df.printSchema()
#root
# |-- features: struct (nullable = false)
# | |-- value: double (nullable = false)
df2 = df.withColumn(
'features',
F.struct(
F.array(F.col('features')['value']).alias('values')
)
)
df2.printSchema()
#root
# |-- features: struct (nullable = false)
# | |-- values: array (nullable = false)
# | | |-- element: double (containsNull = false)
推荐阅读
- javascript - 查找 HTML 元素的静态位置
- firebase - 如何仅对 100 个条目使用 firebase 的 on_child 触发器并在加载 100 个条目后继续?
- r - 在一个地块上绘制每十年的平均每月计数
- jhipster - 如何在 Jhipster 中向域中添加新字段?
- java - 如何使用fireauth进行确认登录以确认密码为真
- javascript - Jquery获取字符串中值的子字符串
- go - Go 中显式范围块的目的?
- python - 为什么我在这里需要一个自我价值?
- python - 使用整数数据类型向字典添加值
- excel - VB6/VBA Iterate through all predeclared class objects