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