我需要将numpy数组附加到pyspark dataframe中。
结果如下,添加“var38mc”变量:
+----+------+-------------+-------+
| ID|TARGET| var38|var38mc|
+----+------+-------------+-------+
| 1.0| 0.0| 117310.9790| True|
| 3.0| 0.0| 39205.17000| False|
| 4.0| 0.0| 117310.9790| True|
+----+------+-------------+-------+
首先,我计算了一个近似值为117310.979016494的数组。
array_var38mc = np.isclose(train3.select("var38").rdd.flatMap(lambda x: x).collect(), 117310.979016494)
输出是一个对象“numpy.ndarray”,类似于这样的“[True,False,True]”
下一步,我将尝试附加一个“Numpy”数组,该数组以前是用同一个“PySpark.Dataframe”的数据计算的。
train4 = train3.withColumn('var38mc',col(df_var38mc))
但我有个错误:
AttributeError: 'DataFrame' object has no attribute '_get_object_id'
p、 s:我尝试将numpy数组转换为列表,并在另一个pyspark dataframe中转换,但没有成功。
1条答案
按热度按时间6ie5vjzr1#
改用自定义项: