【发布时间】:2017-09-26 16:14:41
【问题描述】:
我正在使用 Databricks,正在研究分类问题。 我有一个包含 2000 多列的 DataFrame。我想将所有将成为特征的列加倍。
val array45 = data.columns drop(1)
for (element <- array45) {
data.withColumn(element, data(element).cast("double"))
}
data.printSchema()
转换为 double 的工作正常,但我没有将其保存在名为 Data 的 DataFrame 中。如果我在循环中创建一个新的 DataFrame ;在 for 循环之外,我的 DataFrame 将不存在。 我不想使用 UDF。
我该如何解决这个问题?
编辑:感谢你们两位的回答!我不知道为什么,但 Shaido 和 Raul 的答案需要花费大量时间来计算。我认为它来自 Databricks。
【问题讨论】:
标签: scala apache-spark dataframe casting databricks