第一次使用Ubuntu.我安装了Anaconda 4.1.1(Python 2.7).我试图使用枚举,但我得到一个导入错误.
import enum
Traceback (most recent call last):
File "<ipython-input-1-13948d6bb7b8>", line 1, in <module>
import enum
ImportError: No module named enum
Run Code Online (Sandbox Code Playgroud)
我尝试使用:conda install -c menpo enum = 0.4.4但它没有用.
我也尝试从这个链接安装枚举 - https://pypi.python.org/pypi/enum34#downloads
到目前为止,这些解决方案都没有对我有用.
任何帮助将不胜感激.谢谢!
我正在尝试执行以下操作:
+-----+-------------------------+----------+-------------------------------------------+
|label|features |prediction|probability |
+-----+-------------------------+----------+-------------------------------------------+
|0.0 |(3,[],[]) |0 |[0.9999999999999979,2.093996169658831E-15] |
|1.0 |(3,[0,1,2],[0.1,0.1,0.1])|0 |[0.999999999999999,9.891337521299582E-16] |
|2.0 |(3,[0,1,2],[0.2,0.2,0.2])|0 |[0.9999999999999979,2.0939961696578572E-15]|
|3.0 |(3,[0,1,2],[9.0,9.0,9.0])|1 |[2.093996169659668E-15,0.9999999999999979] |
|4.0 |(3,[0,1,2],[9.1,9.1,9.1])|1 |[9.89133752128275E-16,0.999999999999999] |
|5.0 |(3,[0,1,2],[9.2,9.2,9.2])|1 |[2.0939961696605603E-15,0.9999999999999979]|
+-----+-------------------------+----------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
将上面的数据框转换为另外两列:prob1&prob2
每列具有列中存在的相应值probability.
我发现了类似的问题 - 一个在PySpark,另一个在Scala.我不知道如何翻译PySpark代码,我收到了Scala代码的错误.
PySpark代码:
split1_udf = udf(lambda value: value[0].item(), FloatType())
split2_udf = udf(lambda value: value[1].item(), FloatType())
output2 = randomforestoutput.select(split1_udf('probability').alias('c1'), split2_udf('probability').alias('c2'))
Run Code Online (Sandbox Code Playgroud)
或者将这些列附加到原始数据框:
randomforestoutput.withColumn('c1', split1_udf('probability')).withColumn('c2', split2_udf('probability'))
Run Code Online (Sandbox Code Playgroud)
Scala代码:
import org.apache.spark.sql.functions.udf
val getPOne = udf((v: org.apache.spark.mllib.linalg.Vector) => v(1))
model.transform(testDf).select(getPOne($"probability"))
Run Code Online (Sandbox Code Playgroud)
运行Scala代码时出现以下错误:
scala> predictions.select(getPOne(col("probability"))).show(false)
org.apache.spark.sql.AnalysisException: cannot resolve 'UDF(probability)' due …Run Code Online (Sandbox Code Playgroud)