首页 新闻 会员 周边 捐助

python IndexError: tuple index out of range

0
悬赏园豆:5 [待解决问题]

data = pd.DataFrame(index=range(data_x.shape[0]), columns=range(9))

data建立出来的样子

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

data_x

[0 1 4 2 3]

data_y 是120行的数据,由于太多我就不放了

[[ 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写不进去呢,求大佬解答,能给出程序修改建议就更好啦

风满楼观世界的主页 风满楼观世界 | 初学一级 | 园豆:192
提问于:2024-03-30 10:13
< >
分享
所有回答(1)
0

不是data超范围,是你方法用错了,data_x是一维数组,shape只有一个元素,你用索引[1]来取,肯定是取不到的,只有一个元素,怎么取第二个呢,你想用的是取第一个元素吧。
data[:, 2:2 + data_x.shape[0]] = data_x

华腾海神 | 园豆:204 (菜鸟二级) | 2024-05-21 13:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册