Wyodrębnianie informacji z dużych zbiorów danych z Twitteru
Świetna robota z dzieleniem pliku na fragmenty w poprzednim ćwiczeniu! Wiesz już, jak radzić sobie z sytuacjami, w których trzeba przetworzyć bardzo duży plik – to naprawdę przydatna umiejętność.
Dobrze jest umieć przetwarzać plik w mniejszych, łatwiejszych do obsługi fragmentach, jednak ciągłe przepisywanie tego samego kodu może być uciążliwe. W tym ćwiczeniu sprawisz, że twój kod będzie bardziej wielokrotnego użytku, umieszczając pracę z poprzedniego ćwiczenia w definicji funkcji.
Pakiet pandas został zaimportowany jako pd, a plik 'tweets.csv' znajduje się w twoim bieżącym katalogu.
To ćwiczenie jest częścią kursu
Zestaw narzędzi Pythona
Instrukcje do ćwiczenia
- Zdefiniuj funkcję
count_entries()przyjmującą 3 parametry. Pierwszy parametr tocsv_filedla nazwy pliku, drugi toc_sizedla rozmiaru fragmentu, a ostatni tocolnamedla nazwy kolumny. - Iteruj po pliku
csv_fileza pomocą pętlifor. Użyj zmiennej pętlichunki iteruj po wywołaniupd.read_csv(), przekazującc_sizedochunksize. - W wewnętrznej pętli iteruj po kolumnie podanej w
colnamewewnątrzchunk, używając pętlifor. Użyj zmiennej pętlientry. - Wywołaj funkcję
count_entries(), przekazując jej nazwę pliku'tweets.csv', rozmiar fragmentów10i nazwę kolumny do zliczenia'lang'. Wynik wywołania przypisz do zmiennejresult_counts.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)