НачатьНачать бесплатно

Извлечение информации из больших массивов данных Twitter

Отлично справились с разбивкой файла на чанки в предыдущем упражнении! Теперь вы знаете, как работать с ситуациями, когда нужно обработать очень большой файл — а это действительно полезный навык.

Уметь обрабатывать файл небольшими, удобными фрагментами — хорошо, но постоянно переписывать один и тот же код для одной и той же задачи быстро становится утомительным. В этом упражнении вы сделаете свой код более переиспользуемым, оформив работу из предыдущего упражнения в виде определения функции.

Пакет pandas уже импортирован как pd, а файл 'tweets.csv' находится в вашей текущей рабочей директории.

Это упражнение является частью курса

Инструментарий Python

Посмотреть курс

Инструкции к упражнению

  • Определите функцию count_entries() с 3 параметрами. Первый параметр — csv_file для имени файла, второй — c_size для размера чанка, третий — colname для названия столбца.
  • Итерируйтесь по файлу csv_file с помощью цикла for. Используйте переменную цикла chunk и итерируйтесь по результату вызова pd.read_csv(), передав c_size в аргумент chunksize.
  • Во внутреннем цикле итерируйтесь по столбцу colname в chunk с помощью цикла for. Используйте переменную цикла entry.
  • Вызовите функцию count_entries(), передав ей имя файла 'tweets.csv', размер чанка 10 и название столбца 'lang'. Сохраните результат вызова в переменную result_counts.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Define count_entries()
def ____():
    """Return a dictionary with counts of
    occurrences as value for each key."""
    
    # Initialize an empty dictionary: counts_dict
    counts_dict = {}

    # Iterate over the file chunk by chunk
    for ____ in ____:

        # Iterate over the column in DataFrame
        for ____ in ____:
            if entry in counts_dict.keys():
                counts_dict[entry] += 1
            else:
                counts_dict[entry] = 1

    # Return counts_dict
    return counts_dict

# Call count_entries(): result_counts
result_counts = ____

# Print result_counts
print(result_counts)
Редактировать и запускать код