Erste SchritteKostenlos loslegen

Extrahieren von Informationen für große Mengen von Twitter-Daten

Du hast die Datei in der letzten Aufgabe gut in Blöcke aufgeteilt. Du weißt jetzt, wie du mit Situationen umgehst, in denen du eine sehr große Datei verarbeiten musst, und das ist eine sehr nützliche Fähigkeit!

Es ist gut zu wissen, wie man eine Datei in kleinen, überschaubaren Blöcken verarbeitet, aber es kann sehr mühsam sein, den gleichen Code für die gleiche Aufgabe immer wieder neu zu schreiben und zu formulieren. In dieser Aufgabe wirst du deinen Code wiederverwendbar machen, indem du deine Arbeit aus der letzten Aufgabe in eine Funktionsdefinition einbaust.

Das pandas-Paket wurde als pd importiert und die Datei 'tweets.csv' liegt in deinem aktuellen Verzeichnis für dich bereit.

Diese Übung ist Teil des Kurses

Python Toolbox

Kurs anzeigen

Anleitung zur Übung

  • Definiere die Funktion count_entries(), die drei Parameter hat. Der erste Parameter ist csv_file für den Dateinamen, der zweite ist c_size für die Größe des Blocks und der letzte ist colname für den Spaltennamen.
  • Iteriere mit Hilfe einer for-Schleife über die Datei in csv_file. Verwende die Schleifenvariable chunk, iteriere über den Aufruf von pd.read_csv() und übergib c_size an chunksize.
  • In der inneren Schleife iterierst du über die Spalte, die durch colname in chunk angegeben ist, indem du eine for-Schleife verwendest. Verwende die Schleifenvariable entry.
  • Rufe die Funktion count_entries() auf, indem du ihr den Dateinamen 'tweets.csv', die Größe der Blöcke 10 und den Namen der zu zählenden Spalte, 'lang', übergibst. Weise das Ergebnis des Aufrufs der Variablen result_counts zu.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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)
Bearbeiten und Ausführen von Code