Витягування інформації з великих обсягів даних 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)