MulaiMulai sekarang secara gratis

Mengekstrak informasi dari data Twitter berukuran besar

Kerja bagus memecah file tersebut menjadi beberapa chunk pada latihan sebelumnya. Sekarang Anda tahu cara menangani situasi ketika perlu memroses file yang sangat besar, dan itu adalah keterampilan yang sangat berguna!

Memang baik mengetahui cara memroses file dalam potongan yang lebih kecil dan mudah dikelola, tetapi akan menjadi sangat melelahkan jika harus menulis ulang kode yang sama untuk tugas yang sama setiap saat. Pada latihan ini, Anda akan membuat kode lebih dapat digunakan kembali dengan menempatkan pekerjaan Anda pada latihan sebelumnya ke dalam sebuah definisi fungsi.

Paket pandas telah diimpor sebagai pd dan file 'tweets.csv' ada di direktori saat ini untuk Anda gunakan.

Latihan ini adalah bagian dari kursus

Kotak Perkakas Python

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi count_entries() yang memiliki 3 parameter. Parameter pertama adalah csv_file untuk nama file, parameter kedua adalah c_size untuk ukuran chunk, dan parameter terakhir adalah colname untuk nama kolom.
  • Lakukan iterasi atas file dalam csv_file menggunakan for loop. Gunakan variabel loop chunk dan lakukan iterasi atas pemanggilan pd.read_csv(), dengan meneruskan c_size ke chunksize.
  • Pada loop dalam, lakukan iterasi atas kolom yang diberikan oleh colname pada chunk menggunakan for loop. Gunakan variabel loop entry.
  • Panggil fungsi count_entries() dengan meneruskan nama file 'tweets.csv', ukuran chunk 10, dan nama kolom yang akan dihitung, 'lang'. Tetapkan hasil pemanggilan tersebut ke variabel result_counts.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode