При работе с Dataframe в Pandas одной из распространённой задачей является добавление нового столбца. В этой статье мы рассмотрим несколько способов, как это можно сделать.
Для работы нам понадобится учебный пример:
import pandas as pdТеперь у нас есть сформированный Pandas Dataframe, к которому мы будем добавлять новые столбцы разными способами.
city_data = {
'Город':['Москва', 'Казань', 'Владивосток', 'Санкт-Петербург', 'Калининград'],
'Дата основания':['1147', '1005', '1860', '1703', '1255'],
'Площадь':['2511', '516', '331', '1439', '223'],
'Население':['11,9', '1,2', '0,6', '4,9', '0,4'],
'Погода':['8', '8', '17', '9', '12'] }
city_df = pd.DataFrame(city_data)
city_df
Способ 1. Добавление столбца в Pandas при помощи списка
Давайте сформируем новый список, который будет соответствовать содержанию нового столбца:
сity_size = ['Большой', 'Большой', 'Средний', 'Большой', 'Средний']Теперь добавим этот список к нашему существующему Dataframe city_df, при этом назовем столбец «Размер города», а также посмотрим получившийся результат:
city_df['Размер города'] = сity_size
city_df
Способ 2. Добавление столбца в Pandas при помощи метода insert()
Встроенный в Pandas метод insert() позволяет добавлять столбцы при помощи одной строки кода. Его синтаксис следующий:
insert(loc, column, value, allow_duplicates = False), где
- loc – номер столбца справа, после которого мы хотим добавить новый столбец
- column – название столбца
- value – значения строк в столбце в виде списка
- allow_duplicates – параметр, определяющий можно ли создавать столбец с одинаковым названием.
Давайте применим этот метод, добавив англоязычные названия городов, при этом поставим столбец после названия города на русском языке:
city_df.insert(1, "City", ['Moscow', 'Kazan', 'Vladivostok', 'St. Petersburg', 'Kaliningrad'], False)
city_df
Способ 3. Добавление столбца в Pandas при помощи словаря и метода map()
Этот способ будет полезен в том случае, когда нам нужно создать столбец и вставить в него данные, сопоставляя их с информацией из существующего столбца.
Итак, создаем словарь, в котором первым параметром идет ключ, соответствующий значению существующего столбца, вторым – новый показатель.
city_timezone = {'Москва':'GMT+3','Казань':'GMT+3','Владивосток':'GMT+10','Санкт-Петербург':'GMT+3','Калининград':'GMT+2'}Теперь добавим значения этого словаря в качестве нового столбца в наш существующий Dataframe. В качестве ключевого столбца мы будем использовать «Город»:
city_df['Часовой пояс'] = city_df['Город'].map(city_timezone)Это были основные три способа, с помощью которых можно добавлять столбцы в Pandas. Хотите попрактиковаться сами – скачайте наш ноутбук по этому уроку и вперед.
city_df
P.S. Если вы также хотите узнать, как удалять столбцы в Pandas, то прочитайте нашу статью "Как из Pandas удалить столбец?".
0 comments:
Отправить комментарий
Спасибо за комментарий.