假设我们有一个像这样的python字典:
dict = {"person1" : (20, 17, 157, 31, 35), "person2" : (29 , 11) , "person3" : (200, 100 , 11)}
如何通过此字典在pyspark中创建一个数据框,该数据框具有字符串键和具有不同大小的元组作为其值?
我想要的输出是这样的:
key | value
-------------------------------------
person1 | (20, 17, 157, 31, 35)
------------------------------------
person2 | (29 , 11)
-------------------------------------
person3 | (200, 100 , 11)
我试图用以下代码做到这一点:
df = pd.DataFrame(dict)
ddf = spark.createDataFrame(df)
但它会引发这样的值错误:
ValueError:数组的长度必须相同
有人可以建议我吗?
答案 0 :(得分:1)
尝试使用 @using EcommerceCore.Helper
@if (TempData["Message"] != null)
{
var message = (PageMessageModel)TempData["Message"];
<div class="alert alert-light alert-@message.Type" role="alert">
<div class="alert-icon"><i class="flaticon-warning kt-font-brand"></i></div>
<div class="alert-text">
@message.Text
</div>
</div>
}
+ from_dict
,然后移置orient
df
dict = {"person1" : (20, 17, 157, 31, 35), "person2" : (29 , 11) , "person3" : (200, 100 , 11)}
df = pd.DataFrame.from_dict(dict, orient='index').transpose()
#creating spark dataframe
sp_df = spark.createDataFrame(df).fillna({'person2':'','person3':''})
#cast all columns to int
ddf=sp_df.select([col(c).cast("int") for c in sp_df.columns])
ddf.show()
#+-------+-------+-------+
#|person1|person2|person3|
#+-------+-------+-------+
#| 20| 29| 200|
#| 17| 11| 100|
#| 157| null| 11|
#| 31| null| null|
#| 35| null| null|
#+-------+-------+-------+
UPDATE: