如何使用pandas将CSV行数据转换为指定结构的嵌套数组
Pandas实现CSV行数据转嵌套分组数组的方法
首先导入依赖库并读取CSV文件:
import pandas as pd import numpy as np # 读取本地CSV文件,替换为你自己的文件路径 df = pd.read_csv("your_file_path.csv")
注意:如果你的CSV主键列名称不是
id,需要把后续代码中drop(columns=["id"])里的列名替换为实际的主键列名。
方法1:基于numpy reshape实现(性能更高,适合大数据量)
# 移除不需要的id列,取出底层numpy数值数组 row_values = df.drop(columns=["id"]).values # 逐行按每2个元素一组自动拆分,自动计算分组数 result = [row.reshape(-1, 2).tolist() for row in row_values]
方法2:纯Python实现(无需额外依赖numpy)
result = [] # 遍历每一行有效数据 for _, row in df.drop(columns=["id"]).iterrows(): row_list = row.to_list() # 按步长为2切割单行列表,实现两两分组 grouped_row = [row_list[i:i+2] for i in range(0, len(row_list), 2)] result.append(grouped_row)
执行完成后输出result即可得到你需要的嵌套数组结构,两种方法均适配列数为偶数的任意扩展场景,无需修改固定分组参数。
内容的提问来源于stack exchange,提问作者Gbeck
相关产品推荐
相关产品推荐

