Pandas DataFrame.reset_index()函式

Minahil Noor 2023年1月30日 2021年2月28日
  1. pandas.DataFrame.replace_index() 的語法
  2. 示例程式碼: DataFrame.reset_index() 方法重置 Dataframe 索引
  3. 示例程式碼:DataFrame.reset_index() 方法重置 MultiIndex 的 DataFrame 索引
Pandas DataFrame.reset_index()函式

Python Pandas DataFrame.reset_index() 函式重置給定 DataFrame 的索引。它用預設的索引替換舊的索引。如果給定的 DataFrame 有一個 MultiIndex,那麼這個方法將刪除所有級別。

pandas.DataFrame.replace_index() 的語法

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

引數

level 它是一個整數、字串、元組或列表型別的引數。如果通過,那麼函式將刪除通過的級別。
drop 它是一個布林引數。它指定在 DataFrame 列中插入索引。它將索引重置為預設的整數索引。
inplace 它是一個布林引數。它指定修改給定的 DataFrame 或建立一個新的物件。
col_level 它是一個整數或字串型別的引數。如果列有多級,它告訴標籤被插入到哪一級。
col_fill 它是一個物件型別引數。如果列有多個級別,它告訴其他級別如何命名。

返回值

它返回帶有新索引的 Dataframe,如果 inplace=True 則返回 None。

示例程式碼: DataFrame.reset_index() 方法重置 Dataframe 索引

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

該函式返回了帶有新索引的 DataFrame。

如果你不希望看到另一個索引列,那麼你可以設定引數 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() 方法重置 MultiIndex 的 DataFrame 索引

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