Python中reset_index()函数是pandas库中的一个函数,用于重置DataFrame的索引。具体来说,该函数将索引重置为默认值0,1,2……n-1。reset_index()还可以将多级索引的DataFrame转换为单层索引的DataFrame。以下是reset_index()的使用攻略:
一、reset_index()函数的基本用法
reset_index()接受如下参数:
- level:用于指定要重置的层级索引,默认为所有层级;
- drop:用于指定是否删除原有的索引,默认为False。
例如,以下数据集含有两级索引:
import pandas as pd
data = {'Name': ['Jerry', 'Jerry', 'Jerry', 'Tom', 'Tom', 'Tom'], 'Year': [2017, 2018, 2019, 2017, 2018, 2019], 'Score': [80, 75, 95, 85, 90, 80]}
df = pd.DataFrame(data)
df.set_index(['Name', 'Year'], inplace=True)
现在使用reset_index()函数重置索引:
df.reset_index()
输出结果如下:
Name Year Score
0 Jerry 2017 80
1 Jerry 2018 75
2 Jerry 2019 95
3 Tom 2017 85
4 Tom 2018 90
5 Tom 2019 80
可以发现,reset_index()将两级索引重置为单层索引,原有的索引变为了新的一列。
二、reset_index()函数的进阶用法
接下来,我们将进一步说明reset_index()函数的进阶用法。
1. level参数的使用
首先,通过level参数,我们可以指定要重置的索引的层级。
例如,我们指定重置第二级索引,即年份(Year):
df.reset_index(level=1)
输出结果如下:
Year Score
Name
Jerry 2017 80
Jerry 2018 75
Jerry 2019 95
Tom 2017 85
Tom 2018 90
Tom 2019 80
可以发现,reset_index(level=1)仅重置了第二级索引,原有的第一级索引变为了新的一列。
2. drop参数的使用
除了指定要重置的索引的层级外,我们还可以通过drop参数来删除原有的索引。
例如,以下数据集中含有两级索引:
import pandas as pd
data = {'Name': ['Jerry', 'Jerry', 'Jerry', 'Tom', 'Tom', 'Tom'], 'Year': [2017, 2018, 2019, 2017, 2018, 2019], 'Score': [80, 75, 95, 85, 90, 80]}
df = pd.DataFrame(data)
df.set_index(['Name', 'Year'], inplace=True)
现在,我们使用reset_index(drop=True)函数重置索引并删除原有索引:
df.reset_index(drop=True)
输出如下:
Name Year Score
0 Jerry 2017 80
1 Jerry 2018 75
2 Jerry 2019 95
3 Tom 2017 85
4 Tom 2018 90
5 Tom 2019 80
可以发现,原有的两级索引被删除,行索引变为了0,1,2……n-1。
以上就是reset_index()函数的使用攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中reset_index()函数的使用 - Python技术站