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

如何在Python中将CSV数据读取为含X特征与y目标的嵌套数组

实现读取CSV生成指定嵌套数组的Python方案

嘿,这个需求其实挺 straightforward 的,我给你两种常用的实现方式,你可以根据自己的场景选:

方法一:用Python标准库csv(无需额外安装依赖)

如果你的数据量不大,用Python自带的csv模块就足够了,步骤清晰好理解:

  1. 导入csv模块
  2. 打开CSV文件,逐行读取内容
  3. 把每一行的字符串数据转换成float类型
  4. 按照[[[x1, x2], [y]]]的结构组装数组

示例代码:

import csv

result = []
# 假设你的CSV文件名为data.csv,第一行是表头x1,x2,y
with open('data.csv', 'r') as f:
    reader = csv.DictReader(f)  # 用DictReader可以通过列名取数,更直观
    for row in reader:
        # 提取x1、x2并转成float,组成特征列表
        features = [float(row['x1']), float(row['x2'])]
        # 提取y并转成float,正负号会被保留
        target = [float(row['y'])]
        # 组装成需要的子数组,添加到结果里
        result.append([features, target])

print(result)

运行后就能得到你想要的嵌套数组结构啦。

方法二:用pandas(适合处理大数据,代码更简洁)

如果你的CSV数据量比较大,或者平时习惯用pandas做数据处理,那这个方法更高效省心:

import pandas as pd

# 读取CSV文件,假设表头是x1,x2,y
df = pd.read_csv('data.csv')
# 用列表推导式快速生成目标结构
result = [[[row['x1'], row['x2']], [row['y']]] for _, row in df.iterrows()]

print(result)

pandas会自动识别数值型列并转成float类型,省去手动转换的步骤,代码更简洁。

小提示

  • 确保你的CSV文件列名和代码里的x1、x2、y一致,如果列名不同,记得修改代码里的键名
  • 如果CSV没有表头,方法一可以用csv.reader,通过索引(如row[0]、row[1])取数;方法二可以加参数header=None,同样通过索引访问列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:22:36