Pandas是一个数据处理的库,今天我们来学习reset_index()这个函数的用法。

pandas.DataFrame.reset_index

函数作用:重置索引或其level。
                  重置数据帧的索引,并使用默认索引。如果数据帧具有多重索引,则此方法可以删除一个或多个level。

函数主要有以下几个参数:reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')

各个参数介绍:

level:可以是int, str, tuple, or list, default None等类型。作用是只从索引中删除给定级别。默认情况下删除所有级别。

drop:bool, default False。不要尝试在数据帧列中插入索引。这会将索引重置为默认的整数索引。

inplace:bool, default False。修改数据帧(不要创建新对象)。

col_level:int or str, default=0。如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第一层。

col_fill:object, default。如果列有多个级别,则确定其他级别的命名方式。如果没有,则复制索引名称。

返回:

DataFrame or None。具有新索引的数据帧,如果inplace=True,则无索引。

举例说明:

df = pd.DataFrame([('bird', 389.0),

                   ('bird', 24.0),

                   ('mammal', 80.5),

                   ('mammal', np.nan)],

                  index=['falcon', 'parrot', 'lion', 'monkey'],

                  columns=('class', 'max_speed'))

输出:df
         class  max_speed
falcon    bird      389.0
parrot    bird       24.0
lion    mammal       80.5
monkey  mammal        NaN

重置索引时,将旧索引添加为列,并使用新的顺序索引:

df.reset_index()
    index   class  max_speed
0  falcon    bird      389.0
1  parrot    bird       24.0
2    lion  mammal       80.5
3  monkey  mammal        NaN

我们可以使用drop参数来避免将旧索引添加为列:

df.reset_index(drop=True)
    class  max_speed
0    bird      389.0
1    bird       24.0
2  mammal       80.5
3  mammal        NaN