Как убрать индексы в dataframe

Сбросить индекс в Pandas Dataframe

Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Итак, давайте посмотрим, как мы можем сбросить индекс DataFrame.

Сначала посмотрите оригинальный DataFrame.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Конвертировать словарь в DataFrame

Выход:
Как убрать индексы в dataframe. blomesirerelte106563. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-blomesirerelte106563. картинка Как убрать индексы в dataframe. картинка blomesirerelte106563. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Пример № 1: Создать собственный индекс без удаления индекса по умолчанию.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Конвертировать словарь в DataFrame

df = pd.DataFrame(data, index)

# Сделать собственный индекс в качестве индекса
# В этом случае индекс по умолчанию существует

Выход:
Как убрать индексы в dataframe. frisattredatisun785231. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-frisattredatisun785231. картинка Как убрать индексы в dataframe. картинка frisattredatisun785231. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Пример № 2: Создание собственного индекса и удаление индекса по умолчанию.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Создать собственный индекс

# Конвертировать словарь в DataFrame
# Создать собственный индекс и удалить индекс по умолчанию

df = pd.DataFrame(data, index)

Выход:
Как убрать индексы в dataframe. lentomarzapemag655621. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-lentomarzapemag655621. картинка Как убрать индексы в dataframe. картинка lentomarzapemag655621. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Пример 3: Сбросить собственный индекс и сделать индекс по умолчанию в качестве индекса.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Создать собственный индекс

# Конвертировать словарь в DataFrame

df = pd.DataFrame(data, index)

# удалить собственный индекс с индексом по умолчанию

Выход:
Как убрать индексы в dataframe. tevolniapootutuat213306. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-tevolniapootutuat213306. картинка Как убрать индексы в dataframe. картинка tevolniapootutuat213306. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Пример № 4: Сделать столбец данных в качестве индекса с удалением индекса по умолчанию.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Создать собственный индекс

# Конвертировать словарь в DataFrame

df = pd.DataFrame(data, index)

# установить индекс любого столбца нашего DF и
# удалить индекс по умолчанию

df.set_index([ ‘Age’ ], inplace = True )

Выход:

Пример 5. Создание столбца данных в качестве индекса без удаления индекса по умолчанию.

# Импорт пакета панд

import pandas as pd

# Определить словарь, содержащий данные о сотрудниках

# Создать собственный индекс

# Конвертировать словарь в DataFrame

df = pd.DataFrame(data, index)

# установить любой столбец в качестве индекса
# Здесь мы устанавливаем столбец возраста в качестве индекса

df.set_index([ ‘Age’ ], inplace = True )

# сбросить индекс без удаления индекса по умолчанию

df.reset_index(level = [ ‘Age’ ], inplace = True )

Выход:
Как убрать индексы в dataframe. biegibcewhodisma550027. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-biegibcewhodisma550027. картинка Как убрать индексы в dataframe. картинка biegibcewhodisma550027. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Источник

pandas.DataFrame.reset_indexВ¶

Reset the index, or a level of it.

Reset the index of the DataFrame, and use the default one instead. If the DataFrame has a MultiIndex, this method can remove one or more levels.

Parameters level int, str, tuple, or list, default None

Only remove the given levels from the index. Removes all levels by default.

drop bool, default False

Do not try to insert index into dataframe columns. This resets the index to the default integer index.

inplace bool, default False

Modify the DataFrame in place (do not create a new object).

col_level int or str, default 0

If the columns have multiple levels, determines which level the labels are inserted into. By default it is inserted into the first level.

col_fill object, default ‘’

If the columns have multiple levels, determines how the other levels are named. If None then the index name is repeated.

Returns DataFrame or None

Opposite of reset_index.

Change to new indices or expand indices.

Change to same indices as other DataFrame.

When we reset the index, the old index is added as a column, and a new sequential index is used:

We can use the drop parameter to avoid the old index being added as a column:

If the index has multiple levels, we can reset a subset of them:

If we are not dropping the index, by default, it is placed in the top level. We can place it in another level:

When the index is inserted under another level, we can specify under which one with the parameter col_fill :

Источник

Возможности объектов Index в pandas / pd 3

В отличие от других структур данных в Python pandas не только пользуется преимуществами высокой производительности массивов NumPy, но и добавляет в них индексы.

Этот выбор оказался крайне удачным. Несмотря на и без того отличную гибкость, которая обеспечивается существующими динамическими структурами, внутренние ссылки на их элементы (а именно ими и являются метки) позволяют разработчикам еще сильнее упрощать операции.

В этом разделе речь пойдет о некоторых базовых функциях, использующих этот механизм:

Переиндексирование df.reindex()

Вы уже знаете, что после объявления в структуре данных объект Index нельзя менять. Но с помощью операции переиндексирования это можно решить.

Существует даже возможность получить новую структуру из уже существующей, где правила индексирования заданы заново.

При операции переиндексирования можно поменять порядок индексов, удалить некоторые из них или добавить новые. Если метка новая, pandas добавит NaN на место соответствующего значения.

В этом случае значения индексов 1 и 2 равны 5, которое принадлежит индексу 3.

itemcolorspricenewobject
id
0blue1.2blueball
1green1.0greenpen
2yellow3.3yellowpencil
3red0.9redpaper
4white1.7whitemug

Удаление

Еще одна операция, связанная с объектами Index — удаление. Удалить строку или колонку не составит труда, потому что метки используются для обозначения индексов и названий колонок.

Например, возьмем в качестве примера случай, где из объекта нужно удалить один элемент. Для этого определим базовый объект Series из четырех элементов с 4 отдельными метками.

Для удаления большего количества элементов, передайте массив с соответствующими индексами.

ballpenpencilpaper
red0123
blue4567
yellow891011
white12131415

Для удаления строк просто передайте индексы строк.

ballpenpencilpaper
red0123
white12131415
ballpaper
red03
blue47
yellow811
white1215

Арифметика и выравнивание данных

Наверное, самая важная особенность индексов в этой структуре данных — тот факт, что pandas может выравнивать индексы двух разных структур. Это особенно важно при выполнении арифметических операций на их значениях. В этом случае индексы могут быть не только в разном порядке, но и присутствовать лишь в одной из двух структур.

В качестве примера можно взять два объекта Series с разными метками.

При использовании Dataframe выравнивание работает по тому же принципу, но проводится и для рядов, и для колонок.

Источник

Как удалить многоиндексные столбцы или строки в dataframe Pandas?

Фреймы данных Pandas предоставляют возможность использования нескольких индексов для маркировки хранимых данных.

Это может использоваться как для столбцов, так и для строк, позволяя вам организовывать определенные типы данных гораздо более эффективным способом.

Можно выбрать различные значения на основе различных уровней индекса.

Чтобы отбросить столбцы или строки мультииндекса в датафрейме, можно использовать метод drop(), как и в случае со стандартными индексами.

Однако необходимо учитывать некоторые дополнительные моменты.

Создание набора данных

Как обычно, перед изучением работы метода drop() в многоиндексных датафреймах, необходимо создать такой, для чего можно использовать следующий код.

В этом примере данные были созданы с помощью функции np.arange() в сочетании с np.reshape() для получения матрицы 6 на 6.

После этого необходимо создать мультииндексы для столбцов и строк.

Существуют различные способы сделать это, но в примере он был создан из кортежей с помощью функции pd.MultiIndex.from_tuples().

После получения мультииндексных объектов dataframe создается обычным способом, используя эти элементы вместо векторов для индексов строк и столбцов.

Удаление строк или столбцов верхнего уровня

Исключение строк или столбцов первого уровня выполняется так же, как и в стандартном случае.

Просто используйте метод drop() объекта, указав в свойстве columns имя удаляемых столбцов или колонок и, аналогично, свойство index для строк.

Таким образом, для удаления столбца B и строки Y вы можете использовать следующую строку кода.

В качестве альтернативы, для удаления строк можно указать только имя строки в методе drop().

В случае со столбцами этого также можно добиться, указав имя и присвоив свойству axis значение 1.

Это требует одного шага для удаления столбцов и другого для строк.

С другой стороны, если вы хотите удалить более одного столбца или строки, вам просто нужно передать вектор с индексами, которые вы хотите удалить.

Поэтому для удаления столбцов A и B одновременно со строками X и Z вы можете ввести следующую команду.

Удаление столбцов или строк мультииндекса

Теперь, в случае, если мы хотим удалить столбцы C2 второго уровня, использование того, что было объяснено до сих пор, приведет к ошибке.

Чтобы избежать этого, необходимо указать через свойство level функции drop(), что вы хотите удалить столбец второго уровня.

То есть, присвоив свойству значение 1, как показано ниже.

На самом деле, в этом есть большой смысл, поскольку в случае, когда один и тот же тег используется в двух разных уровнях, Pandas не может знать, какой из них удалить. Поэтому необходимо указать уровень, на котором вы хотите его применить, если он не первый.

В случае с рядами процесс аналогичен предыдущему.

Как и для индексов первого уровня, также возможно удаление строк и столбцов с помощью одной инструкции. Однако они должны быть одного уровня.

Сглаживание индексов

В примере, после удаления строки и столбца второго уровня, наличие нескольких индексов является излишним.

Это можно решить, удалив лишние уровни с помощью метода droplevel() индексов.

Метод, единственным параметром которого является уровень, который вы хотите удалить из индексов, по умолчанию это первый уровень (0).

Использовать его просто, достаточно применить его к индексу и присвоить результат датафрейму, как показано в следующем примере.

Однако в данном случае может быть интереснее убрать индексы второго уровня.

В случае если вы хотите сохранить оба индекса, но удалить подуровни:

Заключение

В этой записи мы рассмотрели использование метода drop() для удаления столбцов или строк мультииндекса в фрейме данных Pandas.

Источник

Remove index name in pandas

I have a dataframe like this one:

How to remove index name foo from that dataframe? The desired output is like this:

6 Answers 6

Alternatively you can just assign None to the index.name attribute:

Как убрать индексы в dataframe. vVmXn. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-vVmXn. картинка Как убрать индексы в dataframe. картинка vVmXn. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Use del df.index.name

From version 0.18.0 you can use rename_axis :

Как убрать индексы в dataframe. . Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-. картинка Как убрать индексы в dataframe. картинка . Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Как убрать индексы в dataframe. hMDvl. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-hMDvl. картинка Как убрать индексы в dataframe. картинка hMDvl. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Took me way too long to find an answer that actually worked for me. See below.

I’m sure some of these other answers are working for other people, but they definitely didn’t work for me 🙁

Как убрать индексы в dataframe. vVmXn. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-vVmXn. картинка Как убрать индексы в dataframe. картинка vVmXn. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Как убрать индексы в dataframe. 1tTJ8. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-1tTJ8. картинка Как убрать индексы в dataframe. картинка 1tTJ8. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

for your case, just use the following code. tested on pandas 1.0.1.

Как убрать индексы в dataframe. DHKJ7. Как убрать индексы в dataframe фото. Как убрать индексы в dataframe-DHKJ7. картинка Как убрать индексы в dataframe. картинка DHKJ7. Давайте обсудим, как сбросить индекс в Pandas DataFrame. Часто мы начинаем с огромного фрейма данных в Pandas и после манипулирования / фильтрации фрейма данных мы получаем гораздо меньший фрейм данных.

Not the answer you’re looking for? Browse other questions tagged python pandas indexing rowname or ask your own question.

Linked

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.22.41046

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *