如何从以元组为值的字典创建 pyspark 数据框?

How to create pyspark dataframe from a dict with tuple as value?

如何从以元组为值的字典创建 pyspark 数据框?

[['HNN', (0.5083874458874459, 56)], ['KGB', (0.7378654301578141, 35)], ['KHB', (0.6676891615541922, 18)]]

输出应该看起来像那样(请参阅附件 ss)

我能想到的最简单的方法是合并每个列表中的字符串和元组。

这可以通过列表综合来完成,您可以使用 * 将元素 0(字符串)和元素 1(元组)解压缩到列表列表中的每个列表的列表中。

l= [['HNN', (0.5083874458874459, 56)], ['KGB', (0.7378654301578141, 35)], ['KHB', (0.6676891615541922, 18)]]

df = spark.createDataFrame([[x[0],*x[1]] for x in l], ['col_1','col_2','col_3'])

输出

+-----+------------------+-----+
|col_1|             col_2|col_3|
+-----+------------------+-----+
|  HNN|0.5083874458874459|   56|
|  KGB|0.7378654301578141|   35|
|  KHB|0.6676891615541922|   18|
+-----+------------------+-----+