gpt4 book ai didi

dataframe - 如何更改pyspark数据框列数据类型?

转载 作者:行者123 更新时间:2023-12-01 13:29:57 35 4
gpt4 key购买 nike

我正在寻找更改 pyspark 数据框列类型的方法



df.printSchema()

enter image description here



enter image description here

提前谢谢你的帮助。

最佳答案

您必须用新架构替换该列。 ArrayType 有两个参数 elementType 和 containsNull。

from pyspark.sql.types import *
from pyspark.sql.functions import udf
x = [("a",["b","c","d","e"]),("g",["h","h","d","e"])]
schema = StructType([StructField("key",StringType(), nullable=True),
StructField("values", ArrayType(StringType(), containsNull=False))])

df = spark.createDataFrame(x,schema = schema)
df.printSchema()
new_schema = ArrayType(StringType(), containsNull=True)
udf_foo = udf(lambda x:x, new_schema)
df.withColumn("values",udf_foo("values")).printSchema()



root
|-- key: string (nullable = true)
|-- values: array (nullable = true)
| |-- element: string (containsNull = false)

root
|-- key: string (nullable = true)
|-- values: array (nullable = true)
| |-- element: string (containsNull = true)

关于dataframe - 如何更改pyspark数据框列数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46432789/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com