Pandas DataFrame.reset_index() 関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.replace_index() の構文:
  2. コード例:DataFrame.reset_index() メソッドでデータフレームのインデックスをリセットする
  3. コード例:DataFrame.reset_index() マルチインデックスデータフレームのインデックスをリセットするメソッド
Pandas DataFrame.reset_index() 関数

Python Pandas DataFrame.reset_index() 関数は、与えられたデータフレームのインデックスをリセットします。これは古いインデックスをデフォルトのインデックスに置き換えます。与えられたデータフレームが MultiIndex を持っている場合、このメソッドはすべてのレベルを削除します。

pandas.DataFrame.replace_index() の構文:

DataFrame.replace_index(level=None, drop=False, inplace=False, col_level=0, col_fill="")

パラメータ

level これは、整数、文字列、タプル、またはリスト型のパラメータです。渡された場合、この関数は渡されたレベルを削除します。
drop 論理値パラメータです。データフレームの列にインデックスを挿入することを指定します。インデックスをデフォルトの整数インデックスにリセットします。
inplace これはブール値のパラメータです。与えられたデータフレームを変更するか、新しいオブジェクトを作成するかを指定します。
col_level これは整数または文字列型のパラメータです。これは、カラムに複数のレベルがある場合に、ラベルがどのレベルに挿入されるかを指定します。
col_fill これはオブジェクト型パラメータです。カラムに複数のレベルがある場合、他のレベルの名前の付け方を指定します。

戻り値

新しいインデックスのデータフレームを返します。inplace= True の場合は None を返します。

コード例:DataFrame.reset_index() メソッドでデータフレームのインデックスをリセットする

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.reset_index()
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Modified Data frame is: 

   index  Attendance    Name  Obtained Marks
0      0          60  Olivia              90
1      1         100    John              75
2      2          80   Laura              82
3      3          78     Ben              64
4      4          95   Kevin              45

この関数は新しいインデックスを持つデータフレームを返しました。

別のインデックス列を表示したくない場合は、パラメータ drop= True を設定します。これはインデックスをデフォルトのインデックス列にリセットします。

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.reset_index(drop= True)
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Modified Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

コード例:DataFrame.reset_index() マルチインデックスデータフレームのインデックスをリセットするメソッド

import pandas as pd
import numpy as np

index = pd.MultiIndex.from_tuples([(1, 'Sarah'),
                                   (1, 'Peter'),
                                   (2, 'Harry'),
                                   (2, 'Monika')],
                                  names=['class', 'name'])
columns = pd.MultiIndex.from_tuples([('Performance', 'max'),
                                     ('Grade', 'type')])
dataframe = pd.DataFrame([('Good', 'A'),
                   ( 'Best', 'A+'),
                   ( 'Bad', 'C'),
                   (np.nan, 'F')],
                  index=index,
                  columns=columns)            
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.reset_index(drop= True)
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

             Performance Grade
                     max  type
class name                    
1     Sarah         Good     A
      Peter         Best    A+
2     Harry          Bad     C
      Monika         NaN     F
The Modified Data frame is: 

  Performance Grade
          max  type
0        Good     A
1        Best    A+
2         Bad     C
3         NaN     F

この関数はインデックスをリセットし、デフォルトの整数インデックスを追加しました。

関連記事 - Pandas DataFrame