如何将多索引DataFrame转换为标准索引DF?

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

推荐答案

您可以删除第二级索引,然后重置该索引:

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

Python相关问答推荐

Matlab中是否有Python的f-字符串等效物

为什么我的Python代码在if-else声明中的行之前执行if-else声明中的行?

如何避免Chained when/then分配中的Mypy不兼容类型警告?

未删除映射表的行

图像 pyramid .难以创建所需的合成图像

C#使用程序从Python中执行Exec文件

切片包括面具的第一个实例在内的眼镜的最佳方法是什么?

调用decorator返回原始函数的输出

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

Python Pandas—时间序列—时间戳缺失时间精确在00:00

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

BeautifulSoup:超过24个字符(从a到z)的迭代失败:降低了首次深入了解数据集的复杂性:

一个telegram 机器人应该发送一个测验如何做?""

如何在SQLAlchemy + Alembic中定义一个"Index()",在基表中的列上

read_csv分隔符正在创建无关的空列

PYTHON中的pd.wide_to_long比较慢

与同步和异步客户端兼容的Python函数

在MongoDB文档中仅返回数组字段

在不中断格式的情况下在文件的特定部分插入XML标签