将数据框架构从 int 更改为 double 的问题
Posted
技术标签:
【中文标题】将数据框架构从 int 更改为 double 的问题【英文标题】:Issue in changing the dataframe schema from int to double 【发布时间】:2018-03-29 10:15:10 【问题描述】:我有一个数据框标签,我想将数据框的架构从整数更改为双精度
数据框的架构是
label.printSchema
root
|-- value: integer (nullable = false)
我使用的命令是
label = label.withColumn('value', label.value.cast('double'))
我收到的错误是:
error: unclosed character literal
【问题讨论】:
sparql != 火花 你是否从 pyspark.sql.types 导入 DoubleType 我做了但没有发生我只是想将现有数据帧的架构从 int 更改为 double ,请告诉我该怎么做 【参考方案1】:label = label.withColumn("value", label("value").cast(DoubleType))
【讨论】:
【参考方案2】:from pyspark.sql.types import DoubleType,IntegerType
cSchema = StructType([StructField("value",IntegerType())])
test_list = [[1],[2]]
df = spark.createDataFrame(test_list,schema=cSchema)
df.printSchema()
castedDF = df.withColumn("value", df["value"].cast("double"))
castedDF.printSchema()
castedDF.show()
而且,输出是(如预期的那样)
root
|-- value: integer (nullable = true)
root
|-- value: double (nullable = true)
+-----+
|value|
+-----+
| 1.0|
| 2.0|
+-----+
【讨论】:
以上是关于将数据框架构从 int 更改为 double 的问题的主要内容,如果未能解决你的问题,请参考以下文章