📜  Python| Pandas DataFrame.reset_index()(1)

📅  最后修改于: 2023-12-03 15:04:21.643000             🧑  作者: Mango

Python Pandas DataFrame.reset_index()方法介绍

1.方法介绍

reset_index()函数是pandas库中的一种数据操作方法,用于重置索引,同时将原索引转化为列,以便后续的数据分析和处理。

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

参数说明

  • level:整数或者整数列表,表示要重置的索引级别。
  • drop:bool值,指示是否丢弃原索引。
  • inplace:bool值,指示是否直接修改原DataFrame。
  • col_level:整数或者字符串,表示重置后的列名级别。
  • col_fill:字符串,表示重置后的列名。
2.使用方法举例
import pandas as pd
 
data = {'name':['Alex','Bob','Carl'],'age':[18,19,20]}
df = pd.DataFrame(data)
 
print("原始数据:")
print(df)

# 重置索引
df_reset = df.reset_index()

print("\n重置索引后的数据:")
print(df_reset)

运行结果:

原始数据:
   name  age
0  Alex   18
1   Bob   19
2  Carl   20

重置索引后的数据:
   index  name  age
0      0  Alex   18
1      1   Bob   19
2      2  Carl   20

从以上示例中可以看出,reset_index()函数将原始DataFrame的索引重置,同时将原索引作为一列加入到重置后的DataFrame中。

3.示例探究
3.1 重置多重索引

对于多重索引的DataFrame,reset_index()函数也可轻松完成索引的重置。

import pandas as pd
  
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
         ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second'))
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8],
                   'B': [10, 20, 30, 40, 50, 60, 70, 80]}, index=index)

print("原始数据:")
print(df)

# 重置索引
df_reset = df.reset_index()

print("\n重置索引后的数据:")
print(df_reset)

运行结果:

原始数据:
             A   B
first second      
bar   one     1  10
      two     2  20
baz   one     3  30
      two     4  40
foo   one     5  50
      two     6  60
qux   one     7  70
      two     8  80

重置索引后的数据:
  first second  A   B
0   bar    one  1  10
1   bar    two  2  20
2   baz    one  3  30
3   baz    two  4  40
4   foo    one  5  50
5   foo    two  6  60
6   qux    one  7  70
7   qux    two  8  80
3.2 丢弃原索引

若设置drop参数为True,即可实现丢弃原索引。

import pandas as pd

data = {'name':['Alex','Bob','Carl'],'age':[18,19,20]}
df = pd.DataFrame(data, index=['a','b','c'])

print("原始数据:")
print(df)

# 重置索引且丢弃原索引
df_drop = df.reset_index(drop=True)

print("\n重置索引且丢弃原索引后的数据:")
print(df_drop)

运行结果:

原始数据:
   name  age
a  Alex   18
b   Bob   19
c  Carl   20

重置索引且丢弃原索引后的数据:
   name  age
0  Alex   18
1   Bob   19
2  Carl   20
4.小结

reset_index()函数在pandas库中是非常常用的数据操作方法之一,因为在实际数据分析和处理中,经常需要重置索引以便下一步的分析和操作。掌握本文介绍的方法及相关参数的含义,将会让您在实际工作中更加得心应手。