簡體   English   中英

PySpark - 從字典中創建一個 Dataframe,其中包含每個鍵的值列表

[英]PySpark - Create a Dataframe from a dictionary with list of values for each key

我有這種類型的字典:

{'xy': [['value1', 'value2'], ['value3', 'value4']],
 'yx': [['value5', 'value6'], ['value7', 'value8']]}

我想創建一個 dataFrame pyspark ,其中我有 3 列和 2 行。 dict 的每個鍵都有一行。 例如,第一行:

First column: xy
Second column: ["value1", "value2"]
Third column: ["value3", "value4"]

 

有什么更好的方法來做到這一點? 我只能創建 2 列,其中有一個鍵,並且只有一列包含所有列表,但這不是我想要的結果。

這是您的數據字典:

data = {
    'xy': [['value1', 'value2'], ['value3', 'value4']],
    'yx': [['value5', 'value6'], ['value7', 'value8']]
}

您可以只使用 for 循環:

df = spark.createDataFrame(
    [[k] + v for k, v in data.items()],
    schema=['col1', 'col2', 'col3']
)

df.show(10, False)
+----+----------------+----------------+
|col1|col2            |col3            |
+----+----------------+----------------+
|xy  |[value1, value2]|[value3, value4]|
|yx  |[value5, value6]|[value7, value8]|
+----+----------------+----------------+

暫無
暫無

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

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