Python 如何将计数器对象转换为dict?
数据帧:Python 如何将计数器对象转换为dict?,python,dictionary,Python,Dictionary,数据帧: pair = collections.defaultdict(collections.Counter) e、 g 我想保留数据帧,但要更改此部分的类型{'word1':4,'word2':3}{'word1':2,'word3':4}``.它现在是一个计数器,我需要一个dict 我尝试从对中获取数据,但我不知道如何为每个文档创建dict: new_pair = collections.defaultdict(collections.Counter) for doc, tab in t
pair = collections.defaultdict(collections.Counter)
e、 g
我想保留数据帧,但要更改此部分的类型{'word1':4,'word2':3}
{'word1':2,'word3':4}``.
它现在是一个计数器
,我需要一个dict
我尝试从对中获取数据,但我不知道如何为每个文档创建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
ACounter
已经是dict
-或者它的子类。但是,如果出于某种原因确实需要一个dict
,那么它就是一行:
>>> c = Counter(word1=4, word2=3)
>>> c
Counter({'word1': 4, 'word2': 3})
>>> dict(c)
{'word1': 4, 'word2': 3}
任何映射(行为类似于字典的任何映射)都可以传递到dict
,您将得到具有相同内容的dict
。不需要迭代来自己构造它
这将提供一个循环,在主体中有一行而不是嵌套循环。但任何形式的代码:
thing = a new empty collection
for elem in old_thing:
Add something to do with elem to thing
通常可以使用生成器表达式或列表、集合或dict在一行中完成。我们正在构建一个dict
,因此(示例部分是您最感兴趣的部分)似乎是可能的。我将把它作为练习留给读者。;-) 也许您正在寻找:
>>> from collections import defaultdict
>>> pair = defaultdict(dict)
>>> pair[3][2]='hello'
>>>
>>> pair
defaultdict(<type 'dict'>, {3: {2: 'hello'}})
>>>
>>> pair[3]
{2: 'hello'}
>>>
>>从集合导入defaultdict
>>>pair=defaultdict(dict)
>>>对[3][2]=“你好”
>>>
>>>配对
defaultdict(,{3:{2:'hello'}})
>>>
>>>配对[3]
{2:'你好'}
>>>
计数器也是一个指令
。但取决于你的需要,也许下面的代码就是你想要的
new_pair ={}
for doc, tab in pari.items():
new_pair[doc] = {}
for word, freq in tab.items():
new_pair[doc][word] = freq
new\u对
dict是您想要的。祝你好运 要将计数器对象转换为字典:
from collections import Counter
arr = list(map(int,input().split()))
freq = Counter(arr)
freq = dict(freq)
发布实际回溯和更多上下文。谁说“第一个参数必须可调用”?您想要什么?你能给出你想要的输出吗?@joaquincollections.defaultdict
arguments就是这一行collections.defaultdict(collections.Counter())
为什么不是collections.defaultdict(collections.Counter)
您以前做过哪些?+1由于需要计数器的功能,因此只能在之后将其转换为dict
,因此这是唯一的方法。
new_pair ={}
for doc, tab in pari.items():
new_pair[doc] = {}
for word, freq in tab.items():
new_pair[doc][word] = freq
from collections import Counter
arr = list(map(int,input().split()))
freq = Counter(arr)
freq = dict(freq)