gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:31 25 4
gpt4 key购买 nike

我有这样的数据 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]|
#+----------+

关于python - 从列表 PySpark 的列表创建单行数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com