Установка столбца в качестве индекса в DataFrame Pandas

По умолчанию для DataFrame создается индекс. Но при необходимости вы можете установить определенный столбец DataFrame в качестве индекса.

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

Вы также можете настроить MultiIndex с несколькими столбцами в индексе. В этом случае передайте массив имен столбцов, необходимых для индекса, в метод set_index().

Синтаксис

Синтаксис set_index() для установки столбца в качестве индекса:

myDataFrame.set_index('column_name')

Где, myDataFrame – это DataFrame, для которого вы хотите установить столбец column_name в качестве индекса.

Чтобы настроить MultiIndex, используйте следующий синтаксис.

myDataFrame.set_index(['column_name_1', column_name_2])

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

Обратите внимание, что метод set_index() не изменяет исходный DataFrame, но возвращает его со столбцом, установленным в качестве индекса.

Пример 1

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

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 'Amol', 72, 67],
	[23, 'Lini', 78, 69],
	[32, 'Kiku', 74, 56],
	[52, 'Ajit', 54, 76]],
	columns=['rollno', 'name', 'physics', 'botony'])

print('DataFrame with default index\n', df)

#set column as index
df = df.set_index('rollno')

print('\nDataFrame with column as index\n',df)

Вывод:

Установка столбца в качестве индекса

Колонка rollno DataFrame устанавливается, как index.

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

Пример 2

В этом примере мы передадим несколько имен столбцов в виде массива методу set_index() для настройки MultiIndex.

import pandas as pd

#initialize a dataframe
df = pd.DataFrame(
	[[21, 'Amol', 72, 67],
	[23, 'Lini', 78, 69],
	[32, 'Kiku', 74, 56],
	[52, 'Ajit', 54, 76]],
	columns=['rollno', 'name', 'physics', 'botony'])

print('DataFrame with default index\n', df)

#set multiple columns as index
df = df.set_index(['rollno','name'])

print('\nDataFrame with MultiIndex\n',df)

Вывод:

D:\>python example1.py
DataFrame with default index
    rollno  name  physics  botony
0      21  Amol       72      67
1      23  Lini       78      69
2      32  Kiku       74      56
3      52  Ajit       54      76

DataFrame with MultiIndex
              physics  botony
rollno name
21     Amol       72      67
23     Lini       78      69
32     Kiku       74      56
52     Ajit       54      76

В этом руководстве по Pandas мы узнали, как установить определенный столбец DataFrame в качестве индекса.

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

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