如何使用Python及Pandas提取单列数据按固定分组转置为多行表格
单列数据按8个分组转结构化表格Pandas实现方案
实现逻辑:将输入的单列一维数据,通过数组重塑操作按每8个元素为一组拆分为多行,最终生成结构化表格。
完整实现代码
首先导入依赖库:
import pandas as pd import numpy as np
场景1:从文本文件读取单列输入
如果原始数据存放在一行一个元素的txt文件中,使用以下代码读取并处理:
# 读取单列数据为Series对象 s = pd.read_csv('input.txt', header=None, squeeze=True) # (可选)如果数据长度不能被8整除,补空值避免报错 pad_length = 8 - len(s) % 8 if len(s) % 8 != 0 else 0 if pad_length > 0: s = pd.concat([s, pd.Series([np.nan] * pad_length)], ignore_index=True) # 重塑为每行8个元素的DataFrame result_df = pd.DataFrame(s.values.reshape(-1, 8)) # 输出为制表符分隔的格式,和需求示例完全一致 print(result_df.to_csv(sep='\t', index=False, header=False))
场景2:直接处理内存中的列表/Series
如果数据已经加载到Python内存中,直接处理即可:
# 示例原始数据 raw_data = [ "Name1", "Sn1", "nois", "gif", "quip", "Date", "Dur", "Res", "Name2", "Sn2", "nois", "on", "quipe", "Date", "Dur", "Res" ] s = pd.Series(raw_data) # 重塑处理 result_df = pd.DataFrame(s.values.reshape(-1, 8)) # 输出查看结果 print(result_df)
输出效果
运行后得到的结果和需求完全匹配:
Name1 Sn1 nois gif quip Date Dur Res Name2 Sn2 nois on quipe Date Dur Res
内容的提问来源于stack exchange,提问作者Madhusudhan
相关产品推荐
相关产品推荐

