我正在尝试将一个包含大约9000万行的pyspark数据帧列转换为numpy数组。在
我需要数组作为scipy.optimize.minimize
函数的输入。在
我尝试过转换为Pandas和使用collect()
,但这些方法非常耗时。在
我是PySpark新手,如果有更快更好的方法来做这件事,请帮忙。在
谢谢
这就是我的数据帧的样子。在
+----------+
|Adolescent|
+----------+
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
| 0.0|
+----------+
#1
您必须以任何方式调用
.collect()
。要从pyspark数据帧创建numpy数组,可以使用:#二
{{numpy>然后可以使用^ cda1}将其转换为
^{pr2}$
或者简单地说:
adoles = df.select("Adolescent").toPandas().values #.reshape(-1) for 1-D array
#三
对于分布式数组,可以尝试Dask Arrays
我没有测试过这个,但是假设它和numpy一样工作(可能有不一致之处):
相关问题 更多 >
编程相关推荐