我需要隐藏 Spark 数据框的一列以列出以后用于 matplotlib
df.toPandas()[col_name].values.tolist()
看起来这个操作需要大约 18 秒的高性能开销,还有其他方法可以做到这一点或提高性能吗?
原文由 YAKOVM 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要隐藏 Spark 数据框的一列以列出以后用于 matplotlib
df.toPandas()[col_name].values.tolist()
看起来这个操作需要大约 18 秒的高性能开销,还有其他方法可以做到这一点或提高性能吗?
原文由 YAKOVM 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以这样做:
>>> [list(row) for row in df.collect()]
例子:
>>> d = [['Alice', 1], ['Bob', 2]]
>>> df = spark.createDataFrame(d, ['name', 'age'])
>>> df.show()
+-----+---+
| name|age|
+-----+---+
|Alice| 1|
| Bob| 2|
+-----+---+
>>> to_list = [list(row) for row in df.collect()]
print list
结果: [[u'Alice', 1], [u'Bob', 2]]
原文由 P.Panayotov 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果你真的需要一个本地列表,你在这里可以做的不多,但一个改进是只收集一个列而不是整个列
DataFrame
: