data = pd.DataFrame(index=range(data_x.shape[0]), columns=range(9))
0 1 2 3 4 5 6 7 8
0 1 1 NaN NaN NaN NaN NaN NaN NaN
1 1 1 NaN NaN NaN NaN NaN NaN NaN
2 1 1 NaN NaN NaN NaN NaN NaN NaN
3 1 1 NaN NaN NaN NaN NaN NaN NaN
4 1 1 NaN NaN NaN NaN NaN NaN NaN
data[0] = 1
data[1] = 1
data[:, 2:2 + data_x.shape[1]] = data_x
data[:, 2 + data_x.shape[1]:2 + data_x.shape[1] + data_y.shape[1]] = data_y
[0 1 4 2 3]
[[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]
[ 29.2611465 1683.417623 ]]
程序目的是将 data_x 和data_y的值赋给 data 的特定列,但是运行之后会报错:
IndexError: tuple index out of range
网上查到说是元组索引超出范围,但我想这data空间也够啊,为什么data_x写不进去呢,求大佬解答,能给出程序修改建议就更好啦
不是data超范围,是你方法用错了,data_x是一维数组,shape只有一个元素,你用索引[1]来取,肯定是取不到的,只有一个元素,怎么取第二个呢,你想用的是取第一个元素吧。
data[:, 2:2 + data_x.shape[0]] = data_x