Написання ітератора для завантаження даних частинами (3)
Ви вже звикли читати й обробляти дані частинами. Давайте просунемося далі та додамо стовпець до датафрейму.
Починаючи з коду попередньої вправи, ви використаєте спискове включення, щоб створити значення для нового стовпця 'Total Urban Population' зі списку кортежів, який ви згенерували раніше. Нагадаємо з попередньої вправи: перший і другий елементи кожного кортежу — це, відповідно, значення зі стовпців 'Total Population' та 'Urban population (% of total)'. Отже, значення в новому стовпці 'Total Urban Population' — це добуток першого й другого елементів у кожному кортежі. Крім того, оскільки другий елемент — це відсоток, потрібно поділити весь результат на 100 або, як варіант, помножити на 0.01.
Ви також побудуєте графік за даними з цього нового стовпця, щоб візуалізувати показники міського населення.
Пакети pandas і matplotlib.pyplot вже імпортовано як pd і plt відповідно — можете їх використовувати.
Ця вправа є частиною курсу
Набір інструментів Python
Інструкції до вправи
- Напишіть спискове включення, щоб згенерувати список значень із
pops_listдля нового стовпця'Total Urban Population'. Вираз результату має бути добутком першого й другого елементів у кожному кортежі вpops_list. Оскільки другий елемент — це відсоток, потрібно або помножити результат на0.01, або поділити на100. Додатково зверніть увагу, що стовпець'Total Urban Population'має містити лише цілі значення. Щоб це гарантувати, приведіть вираз результату до цілого типу за допомогоюint(). - Створіть точковий графік, де по осі x — значення зі стовпця
'Year', а по осі y — зі стовпця'Total Urban Population'.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()