簡體   English   中英

如何將 numpy 二維數組插入單個 pyspark dataframe 單元

[英]How to insert a numpy 2d array into a single pyspark dataframe cell

我正在嘗試將整個 numpy 二維數組插入單個 pyspark 行...有人知道如何實現嗎?

最終我希望能夠實現以下目標.. 我的 numpy 陣列在單行中

在此處輸入圖像描述

我曾嘗試使用更高階的 function 來執行此操作,但到目前為止還無法使其正常工作。 有人有建議嗎?

import pyspark.sql.functions as f
import numpy as np

df = spark.createDataFrame(np.array([[0.        , 0.67235401, 0.35767577],
       [0.67235401, 0.        , 0.2981656 ],
       [0.35767577, 0.2981656 , 0.        ]]))

expr = "TRANSFORM(arrays_zip(*), x -> struct(*))"
df = sms.withColumn('array', f.expr(expr))

df.show(truncate=False)

給定一個numpy.array ,它可以轉換為 PySpark Dataframe 在將數組轉換為 Z23EEEB4347BDD726BDZFC6B7EE 列表后。

工作示例

import numpy as np

np_array = np.array([[0.        , 0.67235401, 0.35767577],
       [0.67235401, 0.        , 0.2981656 ],
       [0.35767577, 0.2981656 , 0.        ]])

df = spark.createDataFrame([(np_array.tolist(), )], ("array", ))

df.show(truncate=False)

Output

+-------------------------------------------------------------------------------------------+
|array                                                                                      |
+-------------------------------------------------------------------------------------------+
|[[0.0, 0.67235401, 0.35767577], [0.67235401, 0.0, 0.2981656], [0.35767577, 0.2981656, 0.0]]|
+-------------------------------------------------------------------------------------------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM