- Установка столбца в качестве индекса в DataFrame Pandas
- Синтаксис
- Пример 1
- Пример 2
- Возможности объектов Index в pandas / pd 3
- Переиндексирование df.reindex()
- Удаление
- Арифметика и выравнивание данных
- Pandas DataFrame Индекс и столбцы атрибуты
- Индекс Pandas DataFrame
- 1. Получение имени метки одной строки
- 2. Получение этикеток нескольких рядов
- 3. Нарезка с индексом DataFrame
- 4. Boolean с индексом DataFrame
- Столбцы Python DataFrame
- 1. Получение метки одной колонны
- 2. Получение этикеток нескольких столбцов
- 3. Нарезка с столбцами DataFrame
- 4. Boolean с столбцами DataFrame
- Заключение
- Как установить столбец как индекс в Pandas DataFrame?
- Пандас – Установите колонку в качестве индекса
- Синтаксис set_index ()
- Пример 1. Установите столбец в качестве индекса в PandaS DataFrame
- Пример 2: Установите Multiindex для PandaFrame
- Резюме
- 4 способа добавления колонок в датафреймы Pandas
- Способ 1-й
- Способ 2-й
- Способ 3-й
- Способ 4-й
- Заключение
Установка столбца в качестве индекса в DataFrame Pandas
По умолчанию для DataFrame создается индекс. Но при необходимости вы можете установить определенный столбец DataFrame в качестве индекса.
Чтобы установить столбец в качестве индекса, используйте функцию set_index() с именем столбца, переданным в качестве аргумента.
Вы также можете настроить MultiIndex с несколькими столбцами в индексе. В этом случае передайте массив имен столбцов, необходимых для индекса, в метод set_index().
Синтаксис
Синтаксис set_index() для установки столбца в качестве индекса:
Где, myDataFrame – это DataFrame, для которого вы хотите установить столбец column_name в качестве индекса.
Чтобы настроить MultiIndex, используйте следующий синтаксис.
Вы можете передать сколько угодно имен столбцов.
Обратите внимание, что метод set_index() не изменяет исходный DataFrame, но возвращает его со столбцом, установленным в качестве индекса.
Пример 1
В этом примере мы возьмем DataFrame и попытаемся установить столбец в качестве индекса.
Колонка rollno DataFrame устанавливается, как index.
Также обратите внимание на вывод исходного DataFrame и выход DataFrame с rollno в качестве индекса. В исходном есть отдельный столбец индекса (первый столбец) без имени столбца. Но в нашем втором DataFrame, этот столбец занял первое место, поскольку существующий столбец действует как индекс.
Пример 2
В этом примере мы передадим несколько имен столбцов в виде массива методу set_index() для настройки MultiIndex.
В этом руководстве по Pandas мы узнали, как установить определенный столбец DataFrame в качестве индекса.
Источник
Возможности объектов Index в pandas / pd 3
В отличие от других структур данных в Python pandas не только пользуется преимуществами высокой производительности массивов NumPy, но и добавляет в них индексы.
Этот выбор оказался крайне удачным. Несмотря на и без того отличную гибкость, которая обеспечивается существующими динамическими структурами, внутренние ссылки на их элементы (а именно ими и являются метки) позволяют разработчикам еще сильнее упрощать операции.
В этом разделе речь пойдет о некоторых базовых функциях, использующих этот механизм:
- Переиндексирование
- Удаление
- Выравнивание
Переиндексирование df.reindex()
Вы уже знаете, что после объявления в структуре данных объект Index нельзя менять. Но с помощью операции переиндексирования это можно решить.
Существует даже возможность получить новую структуру из уже существующей, где правила индексирования заданы заново.
Для того чтобы провести переиндексирование объекта Series библиотека pandas предоставляет функцию reindex() . Она создает новый объект Series со значениями из другого Series , которые теперь переставлены в соответствии с новой последовательностью меток.
При операции переиндексирования можно поменять порядок индексов, удалить некоторые из них или добавить новые. Если метка новая, pandas добавит NaN на место соответствующего значения.
Как видно по выводу, порядок меток можно поменять полностью. Значение, которое раньше соответствовало метке two , удалено, зато есть новое с меткой five .
Тем не менее в случае, например, с большим Dataframe , не совсем удобно будет указывать новый список меток. Вместо этого можно использовать метод, который заполняет или интерполирует значения автоматически.
Для лучшего понимания механизма работы этого режима автоматического индексирования создадим следующий объект Series .
В этом примере видно, что колонка с индексами — это не идеальная последовательность чисел. Здесь пропущены цифры 1, 2 и 4. В таком случае нужно выполнить операцию интерполяции и получить полную последовательность чисел. Для этого можно использовать reindex с параметром method равным ffill . Более того, необходимо задать диапазон значений для индексов. Тут можно использовать range(6) в качестве аргумента.
Теперь в объекте есть элементы, которых не было в оригинальном объекте Series . Операция интерполяции сделала так, что наименьшие индексы стали значениями в объекте. Так, индексы 1 и 2 имеют значение 1, принадлежащее индексу 0.
Если нужно присваивать значения индексов при интерполяции, необходимо использовать метод bfill .
В этом случае значения индексов 1 и 2 равны 5, которое принадлежит индексу 3.
Операция отлично работает не только с Series , но и с Dataframe . Переиндексирование можно проводить не только на индексах (строках), но также и на колонках или на обоих. Как уже отмечалось, добавлять новые индексы и колонки возможно, но поскольку в оригинальной структуре есть недостающие значения, на их месте будет NaN .
item | colors | price | new | object |
---|---|---|---|---|
id | ||||
0 | blue | 1.2 | blue | ball |
1 | green | 1.0 | green | pen |
2 | yellow | 3.3 | yellow | pencil |
3 | red | 0.9 | red | paper |
4 | white | 1.7 | white | mug |
Удаление
Еще одна операция, связанная с объектами Index — удаление. Удалить строку или колонку не составит труда, потому что метки используются для обозначения индексов и названий колонок.
В этом случае pandas предоставляет специальную функцию для этой операции, которая называется drop() . Метод возвращает новый объект без элементов, которые необходимо было удалить.
Например, возьмем в качестве примера случай, где из объекта нужно удалить один элемент. Для этого определим базовый объект Series из четырех элементов с 4 отдельными метками.
Теперь, предположим, необходимо удалить объект с меткой yellow . Для этого нужно всего лишь указать ее в качестве аргумента функции drop() .
Для удаления большего количества элементов, передайте массив с соответствующими индексами.
Если речь идет об объекте Dataframe , значения могут быть удалены с помощью ссылок на метки обеих осей. Возьмем в качестве примера следующий объект.
ball | pen | pencil | paper | |
---|---|---|---|---|
red | 0 | 1 | 2 | 3 |
blue | 4 | 5 | 6 | 7 |
yellow | 8 | 9 | 10 | 11 |
white | 12 | 13 | 14 | 15 |
Для удаления строк просто передайте индексы строк.
ball | pen | pencil | paper | |
---|---|---|---|---|
red | 0 | 1 | 2 | 3 |
white | 12 | 13 | 14 | 15 |
Для удаления колонок необходимо указывать индексы колонок, а также ось, с которой требуется удалить элементы. Для этого используется параметр axis . Чтобы сослаться на название колонки, нужно написать axis=1 .
ball | paper | |
---|---|---|
red | 0 | 3 |
blue | 4 | 7 |
yellow | 8 | 11 |
white | 12 | 15 |
Арифметика и выравнивание данных
Наверное, самая важная особенность индексов в этой структуре данных — тот факт, что pandas может выравнивать индексы двух разных структур. Это особенно важно при выполнении арифметических операций на их значениях. В этом случае индексы могут быть не только в разном порядке, но и присутствовать лишь в одной из двух структур.
В качестве примера можно взять два объекта Series с разными метками.
Теперь воспользуемся базовой операцией сложения. Как видно по примеру, некоторые метки есть в обоих структурах, а остальные — только в одной. Если они есть в обоих случаях, их значения складываются, а если только в одном — то значением будет NaN .
При использовании Dataframe выравнивание работает по тому же принципу, но проводится и для рядов, и для колонок.
Источник
Pandas DataFrame Индекс и столбцы атрибуты
Атрибуты индекса PandaS DataFrame и атрибуты столбцов позволяют нам получать значения меток строк и столбцов. Мы можем передать целочисленное значение, ломтики или логию
Автор: Pankaj Kumar
Дата записи
Атрибуты индекса PandaS DataFrame и атрибуты столбцов позволяют нам получать значения меток строк и столбцов.
Мы можем передавать целочисленное значение, ломтики или логические аргументы, чтобы получить информацию об этикетке.
Индекс Pandas DataFrame
Давайте посмотрим на несколько примеров получения этикеток разных строк в объекте DataFrame. Прежде чем мы посмотрим на использование атрибута индекса, мы создадим образец объекта DataFrame.
1. Получение имени метки одной строки
2. Получение этикеток нескольких рядов
3. Нарезка с индексом DataFrame
4. Boolean с индексом DataFrame
Мы не можем установить значение метки строк, используя атрибут индекса DataFrame. Если мы попытаем это сделать, это будет поднять ImporeError («Индекс не поддерживает смежные операции») Отказ
Столбцы Python DataFrame
Атрибут столбцов DataFrame предоставляет значения этикетки для столбцов. Это очень похоже на атрибут индекса. Мы не можем установить значение метки столбцов, используя этот атрибут. Давайте посмотрим на некоторые примеры использования атрибута столбцов DataFrame. Мы повторно используем более раннее определенное объект DataFrame для этих примеров.
1. Получение метки одной колонны
2. Получение этикеток нескольких столбцов
3. Нарезка с столбцами DataFrame
4. Boolean с столбцами DataFrame
Заключение
Атрибуты столбцов PandaFrame PandaS HataFrame и столбцов полезны, когда мы хотим обрабатывать только определенные строки или столбцы. Также полезно получить информацию об этикетке и распечатать ее для будущих целей отладки.
Источник
Как установить столбец как индекс в Pandas DataFrame?
Автор: Python Examples
Дата записи
Пандас – Установите колонку в качестве индекса
По умолчанию индекс создан для dataframe. Но вы можете установить определенный столбец DataFrame в качестве индекса, если требуется.
Чтобы установить столбец в качестве индекса для DataFrame, используйте Dataframe.set_index () Функция с именем столбца прошла аргумент.
Вы также можете настроить Multiindex с несколькими столбцами в индексе. В этом случае пройдите массив имени столбцов, необходимых для индекса, для Set_index () метода.
Синтаксис set_index ()
Синтаксис set_index () для настройки столбца в качестве индекса
где MyDataFrame Является ли DataFrame для которого вы хотели бы установить Column_name столбец как индекс.
Чтобы настроить Multiindex, используйте следующий синтаксис.
Вы можете пройти как можно больше имен столбцов.
Обратите внимание, что set_index () Способ не изменяет исходное dataframe, но возвращает dataframe с столбцом, установленным в качестве индекса.
Пример 1. Установите столбец в качестве индекса в PandaS DataFrame
В этом примере мы берем dataframe и попробуем установить столбец в качестве индекса.
Колонна Rollno данных DataFrame устанавливается как индекс.
Также соблюдайте вывод оригинального DataFrame и выходов DataFrame с Rollno как индекс. В исходном DataFrame есть отдельный столбец индекса (первый столбец) без имени столбца. Но в нашем втором DataFrame, поскольку существующая колонна действует как индекс, этот столбец занял первое место.
Пример 2: Установите Multiindex для PandaFrame
В этом примере мы передадим несколько имен столбцов в качестве массива для Set_index (), чтобы настроить Multiindex для PandaFrame PandaS.
Резюме
В этом руководстве Pandas мы узнали, как установить определенный столбец DataFrame в качестве индекса.
Источник
4 способа добавления колонок в датафреймы Pandas
Pandas — это библиотека для анализа и обработки данных, написанная на языке Python. Она предоставляет множество функций и способов для управления табличными данными. Основная структура данных Pandas — это датафрейм, который хранит информацию в табличной форме с помеченными строками и столбцами.
В контексте данных строки представляют собой утверждения, или точки данных. Столбцы отражают свойства, или атрибуты утверждений. Рассмотрим эту структуру на простом примере. Допустим, каждая строка — это дом. В таком случае, столбцы заключают в себе сведения об этом доме (его возрасте, количестве комнат, стоимости и т.д.).
Добавление или удаление столбцов — обычная операция при анализе данных. Ниже мы разберем 4 различных способа добавления новых столбцов в датафрейм Pandas.
Сначала создадим простой фрейм данных для использования в примерах:
Способ 1-й
Пожалуй, это самый распространенный путь создания нового столбца в Pandas:
Мы указываем имя столбца подобно тому, как выбираем столбец во фрейме данных. Затем этому столбцу присваиваются значения. Новый столбец добавляется последним (т. е. становится столбцом с самым высоким индексом).
Можно добавить сразу несколько столбцов. Их наименования перечисляются списком, а значения должны быть двумерными для совместимости с количеством строк и столбцов. Например, следующий код добавляет три столбца, заполненные случайными целыми числами от 0 до 10:
Давайте удалим эти три столбца, прежде чем перейти к следующему методу.
Способ 2-й
В первом способе мы добавляли новый столбец в конец. Pandas также позволяет добавлять столбцы по определенному индексу. Для настройки расположения нового столба воспользуемся функцией вставки (insert function). Давайте добавим один столбец рядом с А:
Для использования функции вставки необходимо 3 параметра: индекс, имя столбца и значение. Индексы столбцов начинаются с 0, поэтому мы устанавливаем параметр индекса 1, чтобы добавить новый столбец рядом со столбцом A. Мы можем указать постоянное значение, которое будет выставлено во всех строках.
Способ 3-й
Функция loc позволяет выбирать строки и столбцы, используя их метки. Таким же образом можно создать новый столбец:
Для выбора строк и столбцов мы указываем нужные метки. Если хотим выбрать все строки, ставим двоеточие. В части таблицы, где нужно проставить столбец, указываем метки столбцов, которые нам необходимо выбрать. Поскольку в датафрейме нет столбца E, Pandas создаст новый столбец.
Способ 4-й
Добавить столбцы можно также с помощью функции assign :
В функции assign необходимо прописать имя столбца и значения. Обратите внимание: мы получаем значения, используя другой столбец во фрейме данных. Предыдущие способы также допускают такую операцию.
Надо понимать, что между функциями assign и insert есть существенное различие.
Функция вставки ( insert ) работает на месте. Это означает, что изменение (добавление нового столбца) сохраняется во фрейме данных.
С функцией назначения ситуация немного иная. Он возвращает измененный фрейм данных, но не изменяет исходный. Чтобы использовать измененную версию (с новым столбцом), нам нужно явно назначить ее.
Заключение
Мы рассмотрели 4 различных способа добавления новых столбцов в фрейм данных Pandas. Это обычная операция при анализе и обработке данных.
Мне нравится пользоваться библиотекой Pandas, поскольку она предоставляет, как правило, несколько способов для выполнения одной задачи. По-моему, это говорит о гибкости и универсальности Pandas.
Источник