从多级索引恢复为单级索引的过程非常简单,只需要用reset_index方法即可。下面分别说明:
首先,让我们创建一个多级索引的Pandas DataFrame作为示例:
import pandas as pd
# 创建多级索引的DataFrame
df = pd.DataFrame({
'city': ['Beijing', 'Beijing', 'Shanghai', 'Shanghai', 'Guangzhou', 'Guangzhou'],
'year': [2016, 2018, 2016, 2018, 2016, 2018],
'population': [21.516, 21.707, 24.152, 24.281, 13.301, 13.547]
})
df.set_index(['city', 'year'], inplace=True)
现在,我们已经创建了一个多级索引的DataFrame,如下所示:
population
city year
Beijing 2016 21.516
2018 21.707
Shanghai 2016 24.152
2018 24.281
Guangzhou 2016 13.301
2018 13.547
现在我们想要将这个DataFrame转换为单级索引的DataFrame。只需要使用reset_index()方法:
df.reset_index(inplace=True)
最终输出的DataFrame为单级索引的形式:
city year population
0 Beijing 2016 21.516
1 Beijing 2018 21.707
2 Shanghai 2016 24.152
3 Shanghai 2018 24.281
4 Guangzhou 2016 13.301
5 Guangzhou 2018 13.547
reset_index()方法重置了索引,使得原来的多级索引变成了普通的列,并添加了默认的整数索引。
如果你不想在结果中保留原来的索引列,只需要在reset_index()中设置drop=True即可:
df.reset_index(inplace=True, drop=True)
最终输出的DataFrame为:
city year population
0 Beijing 2016 21.516
1 Beijing 2018 21.707
2 Shanghai 2016 24.152
3 Shanghai 2018 24.281
4 Guangzhou 2016 13.301
5 Guangzhou 2018 13.547
这样就完成了从多级索引恢复为单级索引的过程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas中从多索引恢复到单索引数据框架 - Python技术站