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
Petunjuk latihan
- Definisikan fungsi
count_entries()yang memiliki 3 parameter. Parameter pertama adalahcsv_fileuntuk nama file, parameter kedua adalahc_sizeuntuk ukuran chunk, dan parameter terakhir adalahcolnameuntuk nama kolom. - Lakukan iterasi atas file dalam
csv_filemenggunakanforloop. Gunakan variabel loopchunkdan lakukan iterasi atas pemanggilanpd.read_csv(), dengan meneruskanc_sizekechunksize. - Pada loop dalam, lakukan iterasi atas kolom yang diberikan oleh
colnamepadachunkmenggunakanforloop. Gunakan variabel loopentry. - Panggil fungsi
count_entries()dengan meneruskan nama file'tweets.csv', ukuran chunk10, dan nama kolom yang akan dihitung,'lang'. Tetapkan hasil pemanggilan tersebut ke variabelresult_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)