将MultiIndex DataFrame转化为标准索引DataFrame
我该如何把一个多重索引的DataFrame转换成标准索引的DataFrame呢?
import pandas as pd
df1 = pd.DataFrame({'old_code': ['00000001', '00000002', '00000003', '00000004'],
'Desc': ['99999991', '99999992 or 99999922', 'Use 99999993 or 99999933', '99999994']},
)
df1.set_index('old_code', inplace=True)
df2=df1["Desc"].str.extractall(r"(?P<new_code>\d{7,9})")
print(df2.head(10))
我的输出看起来是这样的
old_code match new_code
00000001 0 99999991
00000002 0 99999992
1 99999922
00000003 0 99999993
1 99999933
00000004 0 99999994
我想把它变成这样的格式?
old_code new_code
00000001 99999991
00000002 99999992
00000002 99999922
00000003 99999993
00000002 99999933
00000004 99999994
1 个回答
1
你可以去掉第二级索引,然后重置索引:
print(df2.droplevel(1).reset_index())
输出结果是:
old_code new_code
0 00000001 99999991
1 00000002 99999992
2 00000002 99999922
3 00000003 99999993
4 00000003 99999933
5 00000004 99999994