Как проверить, находится ли указанная строка c внутри указанного столбца c нескольких фреймов данных, чтобы затем подсчитать количество появлений? - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь выполнить итерацию по указанному столбцу c, который называется одинаково в 4 разных фреймах данных ('Вопрос'), чтобы посмотреть, есть ли данное слово в каждой ячейке, которые являются строками. Как мне создать функцию, которая складывает количество раз, когда строка найдена в списке строк из разных столбцов?

Это то, что я пробовал до сих пор, но оно постоянно говорит мне

локальная переменная ... определена во вложенной области видимости в строке ##, на которую ссылается перед присвоением локальной переменной ... назначен, но никогда не используется

word_count_1980 = 0
word_count_1990 = 0
word_count_2000 = 0
word_count_2010 = 0

word = 'computer'

def decade_word_filter(word):
   for question in the_1980s['Question']:
       if word.lower() in question.lower():
            word_count_1980 += 1
   for question in the_1990s['Question']:
       if word.lower() in the_1990s['Question'].lower():
            word_count_1990 += 1
   for question in the_2000s['Question']:
       if word.lower() in the_2000s['Question'].lower():
            word_count_2000 += 1
   for question in the_2010s['Question']:
       if word.lower() in the_2010s['Question'].lower():
            word_count_2010 += 1

1 Ответ

0 голосов
/ 22 апреля 2020
def decade_word_filter(df, word, col='Question'):
   return df[col].str.contains(word).sum()

dfs = [the_1980s, the_1990s, the_2000s, the_2010s]
word_counts = [decade_word_filter(df, word) for df in dfs]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...