我正在对数据框架进行逻辑回归分析,由于Spark中的逻辑回归函数不接受分类变量,因此我需要对其进行转换。
我使用了字符串索引器转换器。
indexer=StringIndexer(inputCol="classname",outputCol="ClassCategory")
我想将这个转换后的列添加回数据框架中。但是,df.withColumn方法不允许我这样做,因为indexer对象不是一个列。
有没有办法进行转换并添加列呢?
回答:
正如Spark ML文档中的示例所示,您可以尝试以下方法:
// 原数据在"df"中
indexer = StringIndexer(inputCol="classname",outputCol="ClassCategory")
indexed = indexer.fit(df).transform(df)
indexed.show()
indexed
对象将是一个包含名为”ClassCategory”的新列的数据框架(该名称是作为outputCol
传递的)。