如何在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
相关产品推荐
相关产品推荐

