Menulis iterator untuk memuat data per potongan (2)
Pada latihan sebelumnya, Anda menggunakan read_csv() untuk membaca potongan DataFrame dari himpunan data yang besar. Pada latihan ini, Anda akan membaca sebuah berkas dengan ukuran potongan DataFrame yang lebih besar lalu memproses data dari potongan pertama.
Untuk memproses data, Anda akan membuat DataFrame lain yang hanya berisi baris dari negara tertentu. Anda kemudian akan men-zip dua kolom dari DataFrame baru tersebut, yaitu 'Total Population' dan 'Urban population (% of total)'. Terakhir, Anda akan membuat list tuple dari objek zip, di mana setiap tuple terdiri atas satu nilai dari masing-masing dua kolom yang disebutkan.
Anda akan menggunakan data dari 'ind_pop_data.csv', yang tersedia di direktori saat ini. pandas telah diimpor sebagai pd.
Latihan ini adalah bagian dari kursus
Kotak Perkakas Python
Petunjuk latihan
- Gunakan
pd.read_csv()untuk membaca berkas'ind_pop_data.csv'per potongan berukuran1000. Tetapkan hasilnya keurb_pop_reader. - Ambil potongan DataFrame pertama dari iterable
urb_pop_readerdan tetapkan kedf_urb_pop. - Pilih hanya baris pada
df_urb_popyang memiliki'CountryCode'bernilai'CEB'. Untuk melakukannya, bandingkan apakahdf_urb_pop['CountryCode']sama dengan'CEB'di dalam tanda kurung siku padadf_urb_pop[____]. - Dengan menggunakan
zip(), gabungkan kolom'Total Population'dan'Urban population (% of total)'daridf_pop_ceb. Tetapkan objek zip yang dihasilkan kepops.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv(____, ____)
# Get the first DataFrame chunk: df_urb_pop
df_urb_pop = next(____)
# Check out the head of the DataFrame
print(df_urb_pop.head())
# Check out specific country: df_pop_ceb
df_pop_ceb = df_urb_pop[____]
# Zip DataFrame columns of interest: pops
pops = zip(____, ____)
# Turn zip object into list: pops_list
pops_list = list(pops)
# Print pops_list
print(pops_list)