繁体   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