Нахождение общего количества слов в форме, когда много возможных POS-тегов - PullRequest
0 голосов
/ 30 октября 2019

Я чувствую, что у меня тупой вопрос, но все равно все идет .. Я пытаюсь перейти от данных, которые выглядят примерно так:

a word form     lemma    POS                count of occurrance
same word form  lemma    Not the same POS   another count
same word form  lemma    Yet another POS    another count

к результату, который выглядит следующим образом:

the word form    total count    all possible POS and their individual counts 

Так, например, у меня может быть:

ring     total count = 100        noun = 40, verb = 60

У меня есть данные в CSV-файле. Я хочу сделать что-то вроде этого:

for row in all_rows:
    if row[0] is the same as row[0] in the next row, add the values from row[3] together to get the total count

buuut Я не могу понять, как это сделать. Помогите?

1 Ответ

0 голосов
/ 30 октября 2019

Если я правильно понял, самый простой способ добиться того, что вам нужно, был бы:

# Mocked CSV data
data = [
 ['a', 'lemma', 'pos', 1],
 ['a', 'lemma', 'pos1', 2],
 ['a', 'lemma', 'pos2', 3],
 ['b', 'lemma', 'pos', 5],
]

result = {}

for row in data:
  key = row[0]
  count = row[3]
  if key in result:
    result[key] += count
  else:
    result[key] = count

print(result)

Результат:

{
  'a': 6,
  'b': 5
}
...