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

Python中如何实现每3行合并为1行的行转列映射转换

Python 按3行分组行转列实现方案

核心处理逻辑

  • 按顺序遍历原始行数据,每3行划分为1个独立处理组
  • 每个组内的3行数据依次映射为新行的3个列值,不足3行的组可按需补空值
  • 所有分组处理完成后直接输出拼接后的宽表结果

实现代码

1. Pandas实现(适合结构化表格数据处理)

import pandas as pd

# 此处替换为你的原始行数据列表,也可通过pd.read_csv/read_excel读取文件后提取对应列
raw_data = ["值1", "值2", "值3", "值4", "值5", "值6"]

df = pd.DataFrame(raw_data, columns=["raw_col"])
# 按3行一组生成分组ID
df["group_id"] = df.index // 3
# 分组后展开为多列
final_result = df.groupby("group_id")["raw_col"].apply(list).apply(pd.Series).reset_index(drop=True)
# 按需修改列名
final_result.columns = ["col1", "col2", "col3"]

print(final_result)

2. Python原生实现(无需依赖第三方库)

# 替换为实际原始行数据
raw_data = ["值1", "值2", "值3", "值4", "值5", "值6"]
final_result = []

# 步长为3遍历取分组
for idx in range(0, len(raw_data), 3):
    current_group = raw_data[idx: idx+3]
    # 不足3行的补空值,不需要补位可删除此行
    current_group += [None] * (3 - len(current_group))
    final_result.append(current_group)

# 输出转换后结果
for row in final_result:
    print(row)

若原始数据存储在本地文件中,仅需要调整raw_data的读取逻辑即可直接复用上述代码。

内容的提问来源于stack exchange,提问作者ATUL VISHAL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:54:02