Я применил StringIndexer()
ко всем (нескольким) столбцам из Dataframe. См. Мой код:
val spark = SparkSession.builder
.master("local[*]")
.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.getOrCreate()
val data = spark.read.option("header", "true")
.option("inferSchema", "true")
.csv("src/main/resources/student.csv")
val featureCol = data.columns
var indexers: Array[StringIndexer] = Array()
for (colName <- featureCol) {
val index = new StringIndexer()
.setInputCol(colName)
.setOutputCol(colName + "_indexed")
indexers = indexers :+ index
}
val pipeline = new Pipeline()
.setStages(indexers)
var newDF = pipeline.fit(data).transform(data)
Как я могу применить к обратной маркировке, т.е. IndexToString()
для всего DataFrame, таким же образом я применил StringIndexer()
Любая помощь будет оценена. Спасибо