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

如何在for循环中将DataFrame转为数组?解决TypeError报错

解决TypeError: list indices must be integers or slices, not DataFrame问题

你的代码错误根源在于循环逻辑:

  • data_sets = [data1, data2, data3] 里的每个元素都是DataFrame对象
  • 循环时for x in data_sets,x直接就是单个DataFrame,不是列表的索引值
  • 你用data[x]去取值,相当于用DataFrame对象当列表索引,这不符合列表索引的规则(只能是整数或切片),所以触发报错。

修正后的代码如下:

data_sets = [data1, data2, data3]
for x in data_sets:
    y = x.to_numpy()
    # 这里添加你对y(numpy数组)的后续处理逻辑

如果需要把所有转换后的numpy数组统一存储,可改成:

data_sets = [data1, data2, data3]
numpy_array_list = []
for df in data_sets:
    numpy_arr = df.to_numpy()
    numpy_array_list.append(numpy_arr)

# 后续可循环numpy_array_list处理每个数组
for arr in numpy_array_list:
    # 处理逻辑
    pass

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:37:02