Я пытаюсь преобразовать список объектов Counter в Dataframe. Допустим, у меня есть следующий счетчик:
Counter({''VERB': 19, 'PRON': 15, 'NOUN': 13, '.': 9, 'ADP': 9, 'DET': 7, 'ADJ': 4, 'PRT': 4, 'CONJ': 3, 'ADV': 3, 'NUM': 2, 'x': 0})
Counter({''VERB': 14, 'NOUN': 9, 'ADV': 8, 'PRON': 8, 'ADJ': 7, '.': 6, 'CONJ': 4, 'DET': 3, 'ADP': 3, 'PRT': 2, 'x': 0, 'NUM': 0})
Я хочу преобразовать это в pandas Dataframe. Однако при попытке сделать это он включает в себя только первый объект Counter и, таким образом, не перебирает другой объект (или остальную часть документа с другими объектами Counter).
index NOUN VERB ADJ . ADP PRON DET CONJ ADV PRT NUM x
0 13 19 4 9 9 15 7 3 3 4 2 0
Ниже вы можете найти мой использованный скрипт. Я предполагаю, что пропускаю маленькую деталь, но, кажется, скучаю по ней.
import nltk
import pandas as pd
for line in lines:
tokens = nltk.word_tokenize(line)
tagged = nltk.pos_tag(tokens, tagset='universal')
selective_tagged = ['ADJ','ADP','ADV','CONJ','DET','NOUN','NUM','PRT','PRON','VERB', '.', 'x']
selective_tagged_words =[]
for word,tag in tagged:
if tag in selective_tagged:
selective_tagged_words.append((word,tag))
counts=Counter(tag for word,tag in selective_tagged_words)
other_tags = set(selective_tagged)-set(counts)
for i in other_tags:
counts[i]=0
df = pd.DataFrame.from_dict(counts, orient='index').reset_index()
df = df.T
postag.append(counts)
Заранее спасибо!