簡體   English   中英

python 2.7:從集合列表創建字典

[英]python 2.7 : create dictionary from list of sets

執行一些操作后,我得到一setlist ,如下所示:

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)

我想從此列表創建:

  1. RDD

  2. 字典,例如:

     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和/或列表?

先感謝您 。

  1. 如果您需要RDD請不要收集freqItemsets

     model = FPGrowth.train(transactions, minSupport=0.2, numPartitions=10) freqItemsets = model.freqItemsets() 

    你當然可以parallelize

    結果= model.freqItemsets()。collect()sc.parallelize(結果)

  2. 我不確定為什么需要這樣做(這看起來像是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM