我有一个由函数生成的列表。当我执行 print
在我的名单上:
print(preds_labels)
我获得:
[(0.,8.),(0.,13.),(0.,19.),(0.,19.),(0.,19.),(0.,19.),(0.,19.),(0.,20.),(0.,21.),(0.,23.)]
但是当我想创造一个 DataFrame
使用此命令:
df = sqlContext.createDataFrame(preds_labels, ["prediction", "label"])
我收到一条错误消息:
不支持的类型:类型“numpy.float64”
如果我手动创建列表,我没有问题。你有什么主意吗?
1条答案
按热度按时间w8f9ii691#
pyspark使用自己的类型系统,不幸的是它不能很好地处理numpy。不过,它适用于python类型。所以你可以手动转换
numpy.float64
至float
喜欢注意,pyspark将把它们作为
pyspark.sql.types.DoubleType