#python #dictionary #jupyter-notebook
#python #словарь #jupyter-записная книжка
Вопрос:
Я создал цикл for, и я хочу, чтобы конечный результат каждой итерации цикла сохранялся в виде словаря (tfdict). Теперь мне нужно, чтобы все dicts были объединены в один dict, чтобы получить этот окончательный dict.
for i in range(0,len(sep)):
n=len(sep[i])
tfDict = dict.fromkeys(setwords,0)
for word in sep[i]:
tfDict[word] =1
tfDict[word] = tfDict[word]/n
x=fin.values()
for word,val in tfDict.items():
for w,v in fin.items():
x = v
if(word==w):
tfDict[word]=val*x
print(tfDict)
здесь, печатая это внутри цикла, я получаю необходимый вывод
{'and': 0.0, 'document': 0.23783346831109634, 'first': 0.0, 'is': 0.16666666666666666, 'one': 0, 'second': 0.16666666666666666, 'the': 0.16666666666666666, 'third': 0, 'this': 0.16666666666666666}
{'and': 0.3193817886456925, 'document': 0.0, 'first': 0.0, 'is': 0.16666666666666666, 'one': 0.16666666666666666, 'second': 0, 'the': 0.16666666666666666, 'third': 0.16666666666666666, 'this': 0.16666666666666666}
{'and': 0.0, 'document': 0.24462871026284194, 'first': 0.3021651247531982, 'is': 0.2, 'one': 0, 'second': 0, 'the': 0.2, 'third': 0, 'this': 0.2}
Теперь я хочу, чтобы все это также находилось вне цикла, в из dict of dict или panda. Есть ли способ, которым я могу это сделать?
Комментарии:
1. Все они не могут быть одним dict, у них одинаковые ключи. Однако у вас может быть файл,
list
который может содержать все эти словари, и вы можете превратить его в фрейм данных pandas2. попробуйте
defaultdict(list)