НачатьНачать бесплатно

Создание итератора для загрузки данных по частям (3)

Вы уже привыкли читать и обрабатывать данные по частям. Теперь усложним задачу — добавим новый столбец в DataFrame.

Продолжая работу с кодом из предыдущего упражнения, вы воспользуетесь включением списка, чтобы сформировать значения для нового столбца '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()
Редактировать и запускать код