Rei*_*end 6 python apache-spark apache-spark-sql pyspark
我有这样的数据data = [[1.1, 1.2], [1.3, 1.4], [1.5, 1.6]]我想创建一个 PySpark 数据框
我已经使用了
dataframe = SQLContext.createDataFrame(data, ['features'])
Run Code Online (Sandbox Code Playgroud)
但我总是得到
dataframe = SQLContext.createDataFrame(data, ['features'])
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到如下结果?
+--------+---+
|features| _2|
+--------+---+
| 1.1|1.2|
| 1.3|1.4|
| 1.5|1.6|
+--------+---+
Run Code Online (Sandbox Code Playgroud)
我发现将参数视为元组列表很有用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]|
#+----------+
Run Code Online (Sandbox Code Playgroud)
或者,如果更改源很麻烦,您也可以等效地执行以下操作:
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]|
#+----------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6063 次 |
| 最近记录: |