Ошибка при использовании цикла For, когда в значении столбца нет запятой

#python #python-3.x

Вопрос:

Ситуация 1

 num_word = []
for num in (data_negative['Comments'].str.split()):
  num_word.append(num)
  print(num_word)
 

результат для num_word

Я применил этот код, чтобы получить количество слов в столбце комментариев, в нем отображается сообщение, поэтому я думаю, что данные слишком большие, и я попытался сделать это, используя первые 4 элемента

Ситуация 2

 data_negative['Comments'].iloc[:4] 
 

результат по 4 пунктам

Используйте приведенный выше код для проверки первых 4 строк. Все выглядит нормально.

Ситуация 3

 num_word = []
for num in (data_negative['Comments'].iloc[:4].str.split()):
  num_word.append(num)
  print(num_word)
 

4 элемента, используемые для цикла

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

Вопросы

1: Почему в столбце Комментариев есть запятая, в то время как в исходном csv ее нет?

2: Где ошибка моего кода для получения num_word ?

Ожидаемый результат

Способен сосчитать числовое слово

Набор данных

Удалено

Ответ №1:

Каждый элемент при использовании split разделяется на строку и добавляется в список num_word . Если вы хотите подсчитать количество слов, которые я бы предложил сделать

 len(num_word)
 

что даст вам длину списка, в котором вы разделяете и добавляете слова, если вы ищете частоту

 from collections import Counter
word_count = Counter(num_word)