gpt4 book ai didi

scala - 在 Scala Spark 中按数据类型删除列

转载 作者:行者123 更新时间:2023-12-04 17:44:15 27 4
gpt4 key购买 nike

df1.printSchema()打印出列名和它们拥有的数据类型。
df1.drop($"colName")将按名称删除列。

有没有办法调整这个命令来代替数据类型?

最佳答案

如果您希望根据类型删除数据框中的特定列,那么下面的代码段会有所帮助。在这个例子中,我有一个数据框,其中有两列分别是 String 和 Int 类型。我正在根据其类型从模式中删除我的 String(所有类型为 String 的字段都将被删除)字段。

import sqlContext.implicits._

val df = sc.parallelize(('a' to 'l').map(_.toString) zip (1 to 10)).toDF("c1","c2")

df.schema.fields
.collect({case x if x.dataType.typeName == "string" => x.name})
.foldLeft(df)({case(dframe,field) => dframe.drop(field)})
newDf 的架构是 org.apache.spark.sql.DataFrame = [c2: int]

关于scala - 在 Scala Spark 中按数据类型删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918809/

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