数据帧:
pair = collections.defaultdict(collections.Counter)
例如
pair = {'doc1': {'word1':4, 'word2':3},
'doc2': {'word1':2, 'word3':4},
'doc3': {'word2':2, 'word4':1},
...}
我想保留数据帧,但要更改此部分的类型{'word1':4, 'word2':3}
{'word1':2, 'word3':4}``...
现在是Counter
,我需要一个dict
。
我试图从pair
获取数据,但我不知道如何为每个文档创建dict
:
new_pair = collections.defaultdict(collections.Counter)
for doc, tab in testing.form.items():
for word, freq in tab.items():
new_pair[doc][word] = freq
我不想改变输出。我只需要在每个文档中,数据类型是dict
,而不是Counter
。
一个
Counter
已经是一个dict
-或者它的一个子类。但是,如果出于某种原因,您确实需要一个dict
,那么它是一行:任何映射(任何类似于字典的行为)都可以传递到
dict
,您将得到一个具有相同内容的dict
。不需要对它进行迭代来自己构建它。这将为您提供一个循环,其中一行位于主体中,而不是嵌套循环。但任何形式的代码:
通常可以使用生成器表达式或列表、集合或听写理解在一行中完成。我们正在构建一个
dict
,因此一个dict comprehension(示例部分是您最感兴趣的部分)似乎是可能的。我将把它作为一个练习留给读者。;-)也许你在寻找:
相关问题 更多 >
编程相关推荐