Сброс индексов DataFrame Pandas

Когда вы объединяете, сортируете, объединяете или выполняете некоторые перестановки с вашим DataFrame, индекс перетасовывается или выходит из строя.

Чтобы сбросить индекс DataFrame, вы можете использовать метод pandas.DataFrame.reset_index().

Синтаксис

Синтаксис функции DataFrame.reset_index() приведен ниже.

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')

Чтобы сбросить индекс, передайте параметры drop = True и inplace = True.

Пример 1: с помощью reset_index()

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

import pandas as pd
	
df_1 = pd.DataFrame(
	[['Somu', 68, 84, 78, 96],
	['Kiku', 74, 56, 88, 85],
	['Ajit', 77, 73, 82, 87]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])

df_2 = pd.DataFrame(
	[['Amol', 72, 67, 91, 83],
	['Lini', 78, 69, 87, 92]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])	

#concatenate dataframes
df = pd.concat([df_1, df_2])
#now the index is not in order

# reset index
df.reset_index(drop=True, inplace=True)

#print dataframe
print(df)

Вывод:

Сброс индекса DataFrame

Пример 2: с помощью concat()

Вы также можете сбросить индекс с помощью функции concat(). Передайте аргумент ignore_index = True функции concat().

import pandas as pd
	
df_1 = pd.DataFrame(
	[['Somu', 68, 84, 78, 96],
	['Kiku', 74, 56, 88, 85],
	['Ajit', 77, 73, 82, 87]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])

df_2 = pd.DataFrame(
	[['Amol', 72, 67, 91, 83],
	['Lini', 78, 69, 87, 92]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])	

#reset index while concatenating
df = pd.concat([df_1, df_2], ignore_index=True)

#print dataframe
print(df)

Вывод:

   name  physics  chemistry  algebra  calculus
0  Somu       68         84       78        96
1  Kiku       74         56       88        85
2  Ajit       77         73       82        87
3  Amol       72         67       91        83
4  Lini       78         69       87        92

Если у вас есть только один DataFrame, индекс которого нужно сбросить, просто передайте этот DataFrame в списке функции concat().

import pandas as pd
	
df_1 = pd.DataFrame(
	[['Somu', 68, 84, 78, 96],
	['Kiku', 74, 56, 88, 85],
	['Ajit', 77, 73, 82, 87]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])

df_2 = pd.DataFrame(
	[['Amol', 72, 67, 91, 83],
	['Lini', 78, 69, 87, 92]],
	columns=['name', 'physics', 'chemistry','algebra','calculus'])	

#concatenate
df = pd.concat([df_1, df_2])
#now the index is not in order

#reset the index
df = pd.concat([df], ignore_index=True)

#print dataframe
print(df)

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

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

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