Python2.7:从集合列表创建字典

2024-05-28 23:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在执行了一些操作之后,我得到了listset,如下所示:

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循环来从列表中获取每个项。你知道吗

问题是这里是否有其他更好的方法来创建rdd和/或列表?你知道吗

先谢谢你。你知道吗


Tags: keyfrom列表stringvalueanotheritemslist
1条回答
网友
1楼 · 发布于 2024-05-28 23:30:15
  1. 如果你想要一个RDD,就不要收集freqItemsets

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

    你当然可以parallelize

    结果=model.freqItemsets模型().收集() sc.并行化(结果)

  2. 我不知道你为什么需要这个(它看起来像一个XY problem 但你可以对收集到的数据进行理解:

    {tuple(x.items): x.freq for x in result}
    

    或者

    {",".join(x.items): x.freq for x in result}
    

一般来说,如果要对数据应用进一步的转换,请不要直接在Spark中收集和处理数据。你知道吗

您还应该看看scalaapi。它已经实现了association rules。你知道吗

相关问题 更多 >

    热门问题