MulaiMulai sekarang secara gratis

Menulis iterator untuk memuat data per potongan (3)

Sekarang Anda sudah terbiasa membaca dan memproses data per potongan. Mari tingkatkan sedikit keterampilan Anda dengan menambahkan sebuah kolom ke DataFrame.

Mulai dari kode pada latihan sebelumnya, Anda akan menggunakan list comprehension untuk membuat nilai bagi kolom baru 'Total Urban Population' dari daftar tuple yang telah Anda buat sebelumnya. Ingat dari latihan sebelumnya bahwa elemen pertama dan kedua dari setiap tuple masing-masing terdiri atas nilai dari kolom 'Total Population' dan 'Urban population (% of total)'. Nilai pada kolom baru 'Total Urban Population' ini, oleh karena itu, merupakan hasil kali antara elemen pertama dan kedua di setiap tuple. Selain itu, karena elemen kedua berupa persentase, Anda perlu membagi seluruh hasil dengan 100, atau sebagai alternatif, mengalikannya dengan 0.01.

Anda juga akan membuat plot dari data pada kolom baru ini untuk memvisualisasikan data populasi perkotaan.

Paket pandas dan matplotlib.pyplot telah diimpor masing-masing sebagai pd dan plt untuk Anda gunakan.

Latihan ini adalah bagian dari kursus

Kotak Perkakas Python

Lihat Kursus

Petunjuk latihan

  • Tulis sebuah list comprehension untuk menghasilkan daftar nilai dari pops_list bagi kolom baru 'Total Urban Population'. Ekspresi keluaran harus berupa hasil kali dari elemen pertama dan kedua di setiap tuple dalam pops_list. Karena elemen kedua adalah persentase, Anda juga perlu mengalikan hasilnya dengan 0.01 atau membaginya dengan 100. Selain itu, perhatikan bahwa kolom 'Total Urban Population' hanya boleh berisi nilai bilangan bulat. Untuk memastikan hal ini, pastikan Anda mengonversi ekspresi keluaran menjadi integer dengan int().
  • Buat plot scatter dengan sumbu-x dari nilai kolom 'Year' dan sumbu-y dari nilai kolom 'Total Urban Population'.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Code from previous exercise
urb_pop_reader = pd.read_csv('ind_pop_data.csv', chunksize=1000)
df_urb_pop = next(urb_pop_reader)
df_pop_ceb = df_urb_pop[df_urb_pop['CountryCode'] == 'CEB']
pops = zip(df_pop_ceb['Total Population'], 
           df_pop_ceb['Urban population (% of total)'])
pops_list = list(pops)

# Use list comprehension to create new DataFrame column 'Total Urban Population'
df_pop_ceb['Total Urban Population'] = [____]

# Plot urban population data
df_pop_ceb.plot(kind=____, x=____, y=____)
plt.show()
Edit dan Jalankan Kode