如何用Pandas DataFrame索引创建键为索引、值为行号的Python字典?
实现方法
这里提供两种简洁的pandas实现方式,满足你将DataFrame索引映射为行号(从1开始)的需求:
方法一:字典推导式 + enumerate
直接遍历DataFrame的索引,用enumerate指定起始计数为1,生成目标字典:
# 假设你的DataFrame名为df id_row_mapping = {idx: row_num for row_num, idx in enumerate(df.index, start=1)}
方法二:利用pandas内置方法转换
先重置索引生成行号列,再转换为字典:
# 重置索引,将原索引转为普通列,同时生成从0开始的默认索引 temp_df = df.reset_index() # 将原索引列作为键,默认索引+1作为值,转成字典 id_row_mapping = temp_df.set_index('ids')['index'].add(1).to_dict()
两种方法都能生成你需要的格式,比如对应示例数据会输出:
{ 2453453 : 1, 3534533 : 2, 6445333 : 3, 8998292 : 4, 2323433 : 5 }
内容的提问来源于stack exchange,提问作者gforce91
相关产品推荐
相关产品推荐

