【发布时间】:2017-11-13 01:11:25
【问题描述】:
我开始对 pandas 感到满意,但不确定如何解决这个问题。
我在 pandas 数据框中有一列字典,我正在尝试计算其熵。
字典中的每个键表示一个簇,值是同一簇中的单词。每行看起来像这样,字典中的元素数量不同。即,有些词典有两个簇,而有些则多达 10 个:
{1: ["'stop'", "'avoid'", "'stifle'", "'not'", "'squelch'", "'contain'", "'cover'", "'suppress'"], 2: ["'hold'"], 3: ["'burke'"], 4: ["'hod'"]}
我想计算每一行的熵,但我希望每个集群中的值都被视为相同。例如,理想情况下,上面的示例基本上看起来像这样:
{1: ["'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'"], 2: ["'hold'"], 3: ["'burke'"], 4: ["'hod'"]}
最后,我希望从集群中提取每个值,然后将它们集中到一个看起来像这样的列表中,这样我就可以在上面运行我的熵公式:
["'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'stop'", "'hold'", "'burke'", "'hod'"]
我正在努力寻找一种方法来使用 pandas 或更基本的 python 来创建具有类似于我的第二个示例的集群的新字典,然后将这些值转换为类似于我的第三个示例的列表。
【问题讨论】:
-
为什么第一本词典中
1对应的列表变成了第二本词典中的全部"'stop'"?
标签: python pandas dataframe scipy entropy