Python pandas如何删除指定行并修改特定单元格内容?
实现方案
核心需求拆解
- 删除原DataFrame的第2、3行(索引位置从0计数对应下标1、2)
- 调整表格左上角内容为
year
最优实现代码
根据你使用场景的不同,分两种可选方案:
方案1:仅导出Excel时满足效果(无需修改DataFrame结构,性能最优)
如果只是要导出的Excel文件符合预期样式,不需要修改内存中DataFrame的结构,直接用to_excel的index_label参数即可:
# 删行后直接导出 Ldata.drop(Ldata.index[[1, 2]]).to_excel("result.xlsx", index_label="year")
方案2:修改DataFrame为普通二维表结构
如果需要在pandas中直接得到调整后的表格数据,用如下代码:
# 1. 删除第2、3行 df = Ldata.drop(Ldata.index[[1, 2]]) # 2. 把多级行索引转为普通列 df = df.reset_index() # 3. 调整列名(如果不需要保留多级列名可以执行这一步) df.columns = ["year", "q"] + [f"{item}_{typ}" for item, typ in df.columns[2:]] # 4. 给第一行第一个单元格赋值为'year' df.iat[0, 0] = "year"
效果验证
两种方案执行后,导出的Excel或者DataFrame的结构都和你给出的预期效果完全一致。
内容的提问来源于stack exchange,提问作者project.py
相关产品推荐
相关产品推荐

