один позиционный индексатор выходит за рамки-

#python #pandas

Вопрос:

Проблема возникает, когда в предложении появляется слово, которого нет в кадре данных df3. В результате — если df3[df3.Word == word].iloc[0][‘Отрицательный’] == 2009:— эта строка выдает ошибку, поскольку возвращает пустой кадр данных

 pos_score = 0
 neg_score = 0
 for i in range(len(filtered_sentence)):
     for word in filtered_sentence[i]:
      if df3[df3.Word == word].iloc[0]['Negative'] == 2009:
        neg_score = neg_score 1
      elif df3[df3.Word == word].iloc[0]['Positive'] == 2009:
        pos_score = pos_score 1
      else:
        break


IndexError: single positional indexer is out-of-bounds
 

Я хочу, чтобы он обходил это слово, если его нет в кадре данных, и рассчитывал оценку по остальным словам

Комментарии:

1. см. [Исключения Python: Введение]( realpython.com/python-exceptions } для обсуждения использования trey/кроме

Ответ №1:

Вы можете попробовать использовать операцию df.empty, чтобы проверить, является ли подмножество df пустым или нет.