亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

索引超出范圍——numpy 數組

索引超出范圍——numpy 數組

四季花海 2022-12-06 16:42:11
這段代碼有什么問題?我不能簡單地將 的第一列切片data并將其分配給 X 嗎?import numpy as npdata =np.array([[5.2, -1.5], [-4.1, 3], [-12.3, 55]])print(data)X = data[:,0]print('shape of X ', X.shape)print('X.shape[0] ',X.shape[0])print('X.shape[1] ',X.shape[1])它拋出以下消息:shape of X  (3,)X.shape[0]  3Traceback (most recent call last):  File "shape.py", line 7, in <module>    print('X.shape[1] ',X.shape[1])IndexError: tuple index out of range
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

當您定義Xdata[:,0]時,您正在創建一個一維數組。由于您的初始數組data是二維的,因此您可以將其視為僅從所有行中選擇 column-index-0-values。這意味著形狀中X只有 1 個元素。

所以X.shape[0]存在(它是3),但X.shape[1]不存在,導致 IndexError。


查看完整回答
反對 回復 2022-12-06
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

請注意,X包含array([  5.2,  -4.1, -12.3]),因此它是一 數組。

從形狀上也可以看出:

shape of X  (3,)

那是:

  • 第一個也是唯一的維度是3,

  • 沒有其他維度。

因此,如果您引用X.shape[1](一個不存在的維度),您會得到 IndexError: tuple index out of range.

沒有其他辦法了。

另一種方法:如果你想要一個二維數組,你可以運行:

X2 = data[:, [0]]

然后:

  • X2.shape(3, 1),

  • X2.shape[0]3

  • X2.shape[1]1


查看完整回答
反對 回復 2022-12-06
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號