如何从以元组为值的字典创建 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|
+-----+------------------+-----+
如何从以元组为值的字典创建 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|
+-----+------------------+-----+