我有pyspark.ml.classificaton.LogisticRegression
模型的结果。其中一列是probability
,其中包含以下向量:
我想用索引3和1提取值,并编写了以下粗UDF,但即使在有效记录上也会一直返回索引错误。
def getPurchProb(o):
try:
return o[3][1]
except ValueError:
return -1.0
except IndexError:
return -2.0
udfPurchProb = udf(getPurchProb, DoubleType())
result.select(udfPurchProb("probability"))
我做错了什么?
更新
此问题被标记为How to access element of a VectorUDT column in a Spark DataFrame?的副本。在上面的那个人有相同的错误之前我尝试了这种方法。我的问题是我在尝试提取值时经历了IndexError,而不是转换时的ValueError。