Numpy数组取列最大值触发TypeError错误求助
问题原因及解决办法
这个错误的核心原因是你传入的data并不是二维numpy数组,而是一维数组或者普通Python列表——这类数据不支持[:, 1]这种二维切片索引方式。
快速验证
先打印data的维度确认:
print(data.ndim) # 一维数组输出1,二维数组输出2
针对性解决办法
确保
data是二维numpy数组
检查数据创建/导入环节,比如从列表转换时要使用嵌套列表:# 正确的二维数组创建示例 data = np.array([[1,2,3,4,5,6,7], [8,9,10,11,12,13,14]])若
data是一维数组
先将其重塑为固定7列的二维数组:data = data.reshape(-1, 7) # 自动计算行数,固定7列 start = np.amax(data[:,1]) end = np.amax(data[:,-1]) # 用-1代替6更通用,列数变化时无需修改索引若
data是普通Python列表
先转换为numpy数组再操作:data = np.array(data) # 转换后确保是二维结构,再执行原逻辑
内容的提问来源于stack exchange,提问作者vinc00
相关产品推荐
相关产品推荐

