从列表 PySpark 的列表中创建单行数据框

2024-04-04

我有一个这样的数据data = [[1.1, 1.2], [1.3, 1.4], [1.5, 1.6]]我想创建一个 PySpark 数据框

我已经使用了

dataframe = SQLContext.createDataFrame(data, ['features'])

但我总是得到

+--------+---+
|features| _2|
+--------+---+
|     1.1|1.2|
|     1.3|1.4|
|     1.5|1.6|
+--------+---+

我怎样才能得到如下结果?

+----------+
|features  |
+----------+
|[1.1, 1.2]|
|[1.3, 1.4]|
|[1.5, 1.6]|
+----------+

我发现思考这个论点很有用createDataFrame()作为元组列表,其中列表中的每个条目对应于 DataFrame 中的一行,元组的每个元素对应于一列。

您可以通过将列表中的每个元素设为元组来获得所需的输出:

data = [([1.1, 1.2],), ([1.3, 1.4],), ([1.5, 1.6],)]
dataframe = sqlCtx.createDataFrame(data, ['features'])
dataframe.show()
#+----------+
#|  features|
#+----------+
#|[1.1, 1.2]|
#|[1.3, 1.4]|
#|[1.5, 1.6]|
#+----------+

或者,如果更改源很麻烦,您也可以等效地执行以下操作:

data = [[1.1, 1.2], [1.3, 1.4], [1.5, 1.6]]
dataframe = sqlCtx.createDataFrame(map(lambda x: (x, ), data), ['features'])
dataframe.show()
#+----------+
#|  features|
#+----------+
#|[1.1, 1.2]|
#|[1.3, 1.4]|
#|[1.5, 1.6]|
#+----------+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从列表 PySpark 的列表中创建单行数据框 的相关文章

随机推荐