You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求更简单高效的Pandas垂直堆叠多表合并优化方案

更简洁高效的堆叠Excel表格处理方案

针对你处理垂直堆叠多表格Excel文件的需求,这里提供一种更简洁、性能更优的实现方式,利用pandas的向量化操作和分组功能替代手动循环切片:

import pandas as pd

# 读取数据
path = r"/content/test_data.xlsx"
df = pd.read_excel(path, skiprows=4, usecols=range(0,4), header=None)
df.columns = ["col_x", "col_y", "col_z", "col_t"]

# 标记所有表头行(即col_x等于"col_x"的行)
df['is_header'] = df['col_x'] == 'col_x'

# 生成分组ID:每遇到一个表头行,分组ID递增,自动划分每个子表的范围
df['group_id'] = df['is_header'].cumsum()

# 提取每个分组的表头行col_y值,填充到该分组的所有行中
df['Value y'] = df.groupby('group_id')['col_y'].transform('first')

# 过滤掉所有表头行,得到最终合并后的数据集
new_df = df[~df['is_header']].reset_index(drop=True)

# 保存结果
new_df.to_csv("test_data_result_combined.csv", index=False)

优化说明

  1. 避免手动索引操作:无需手动提取表头行索引、循环切片拼接,完全利用pandas内置的分组和向量化方法,代码更简洁易维护
  2. 性能提升:向量化操作比Python循环效率高得多,尤其是处理大数据量时优势明显
  3. 逻辑更清晰:通过分组ID明确划分每个子表范围,填充对应col_y值的逻辑直观易懂

内容的提问来源于stack exchange,提问作者Shck Tchamna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:20:26