[英]python 2.7 : create dictionary from list of sets
執行一些操作后,我得到一set
的list
,如下所示:
from pyspark.mllib.fpm import FPGrowth
FreqItemset(items=[u'A_String_0'], freq=303)
FreqItemset(items=[u'A_String_0', u'Another_String_1'], freq=302)
FreqItemset(items=[u'B_String_1', u'A_String_0', u'A_OtherString_1'], freq=301)
我想從此列表創建:
RDD
字典,例如:
key: A_String_0 value: 303 key: A_String_0,Another_String_1 value: 302 key: B_String_1,A_String_0,A_OtherString_1 value: 301
我想繼續進行計算以產生信心和提升
我試圖執行for
循環以從list中獲取每個項目。
問題是,是否還有另一種更好的方法可以在此處創建rdd和/或列表?
先感謝您 。
如果您需要RDD
請不要收集freqItemsets
model = FPGrowth.train(transactions, minSupport=0.2, numPartitions=10) freqItemsets = model.freqItemsets()
你當然可以parallelize
結果= model.freqItemsets()。collect()sc.parallelize(結果)
我不確定為什么需要這樣做(這看起來像是XY問題,但是您可以對收集的數據使用理解:
{tuple(x.items): x.freq for x in result}
要么
{",".join(x.items): x.freq for x in result}
一般來說,如果您想對數據進行進一步的轉換,請不要直接在Spark中收集和處理數據。
您還應該看看Scala API。 它已經實現了關聯規則 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.