Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj funkcję count_entries() przyjmującą 3 parametry. Pierwszy parametr to csv_file dla nazwy pliku, drugi to c_size dla rozmiaru fragmentu, a ostatni to colname dla nazwy kolumny.
  • Iteruj po pliku csv_file za pomocą pętli for. Użyj zmiennej pętli chunk i iteruj po wywołaniu pd.read_csv(), przekazując c_size do chunksize.
  • W wewnętrznej pętli iteruj po kolumnie podanej w colname wewnątrz chunk, używając pętli for. Użyj zmiennej pętli entry.
  • Wywołaj funkcję count_entries(), przekazując jej nazwę pliku 'tweets.csv', rozmiar fragmentów 10 i nazwę kolumny do zliczenia 'lang'. Wynik wywołania przypisz do zmiennej result_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)
Edytuj i uruchom kod