老师,第一节课项目代码里有一句代码用法没有理解,help

hour_val = np.mean(data_arr[:, 2:], axis=1)
n_hours = hour_val.shape[0]
按行取平均值,这个hour_val我用ndim查看返回是1,就是一维数组,使用shape[1]提示越界,为什么可以用shape[0]来取行数呢,如果用len(hour_val)来取一维数组的长度,我能理解。
希望老师有空帮忙解答下,谢谢

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自: 饶鹏bjd

因为这是一个一维数组,假设里面含有10个元素,那么在numpy中它的shape为 (10, ) 所以shape[0]没有问题,shape[1]就会出错。如果对numpy中的数组使用len()的话,返回的是第一个维度上元素的个数,也就是行数。len()同样可用于获取二维数组的长度,还是行数。

要回复问题请先登录注册