如何合并分页API返回的Pandas DataFrame并重新索引
解决分页API数据合并后的索引问题
核心思路
先把循环生成的所有小DataFrame收集到一个列表里,再用concat合并时直接重置索引,一步解决问题。
具体步骤
收集所有DataFrame到列表
循环处理分页数据时,把每个生成的小DataFrame都存入一个列表:import pandas as pd dfs = [] # 初始化空列表存储所有小DataFrame # 这里替换成你的分页循环逻辑 for page_data in paginated_json_data: normalized_df = pd.json_normalize(page_data) # 你的JSON归一化操作 dfs.append(normalized_df)合并并生成连续索引
使用pd.concat时加上ignore_index=True参数,合并后直接生成从0开始的连续索引:merged_df = pd.concat(dfs, ignore_index=True)事后修复索引问题
如果已经完成合并但索引仍重复,可通过重置索引解决,记得丢弃原索引列:merged_df = merged_df.reset_index(drop=True)
问题原因说明
之前合并失败,大概率是因为concat默认保留每个小DataFrame的原索引,导致合并后索引重复。加上ignore_index=True会强制生成新的连续索引,直接解决问题。
内容的提问来源于stack exchange,提问作者ayan
相关产品推荐
相关产品推荐

