0
私はpysparkデータフレーム列のデータ型を変更するには?
df.printSchemaからpysparkのデータフレームの列タイプに
を変更する方法を探しています()
に、ありがとうあなたの助けのために、事前に。
私はpysparkデータフレーム列のデータ型を変更するには?
df.printSchemaからpysparkのデータフレームの列タイプに
を変更する方法を探しています()
に、ありがとうあなたの助けのために、事前に。
新しいスキーマで列を置き換える必要があります。 ArrayTypeは、2つのパラメータ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)
ありがとうございます@それは助けました – user2763088