Traceback (most recent call last): File "D:\pythonProject1\main.py", line 177, in <module> y_true = np.argmax(y_test, axis=1) File "<__array_function__ internals>", line 180, in argmax File "D:\Users\lenovo\anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 1216, in argmax return _wrapfunc(a, 'argmax', axis=axis, out=out, **kwds) File "D:\Users\lenovo\anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 57, in _wrapfunc return bound(*args, **kwds) numpy.AxisError: axis 1 is out of bounds for array of dimension 1是什么意思,该怎么修改
时间: 2023-08-02 13:06:55 浏览: 171
这个错误提示是因为你在使用 `np.argmax()` 函数时,指定的轴超出了数组的维度范围。具体来说,你的 `y_test` 数组可能只有一个维度,而你却指定了 `axis=1`,这是不被允许的。
要解决这个问题,你可以先查看一下 `y_test` 的维度,确认它是否只有一个维度。如果是的话,你需要修改 `np.argmax()` 的参数,将轴指定为 `axis=0` 或省略 `axis` 参数。如果 `y_test` 是一个多维数组,那么你需要仔细检查你的代码,确认 `y_test` 在哪个维度上需要进行 argmax 操作,并修改相应的代码。
相关问题
python解释错误 Traceback (most recent call last): File "D:\Python\pythonProject1\main.py", line 14, in <module> reversed_text = cell.value[::-1] TypeError: 'NoneType' object is not subscriptable
这个错误可能是因为在遍历B列的单元格时,有些单元格是空的,没有值,所以在取值时返回了None,而None是不能进行切片操作的。你可以添加一个判断语句来避免这个错误:
import openpyxl # 打开Excel文件 wb = openpyxl.load_workbook('D:/CNEUN/6、项目/11、电力物资/广西物资/会议讨论资料/5.31会议沟通/会后复盘/名称字段.xlsx', read_only=True) # 选择指定的sheet sheet = wb['Sheet1'] # 遍历B列中的每一个单元格 for cell in sheet['E']: # 判断单元格是否为空 if cell.value is not None: # 将单元格中的文字反转位置 reversed_text = cell.value[::-1] # 将反转后的文字写回到原单元格中 cell.value = reversed_text # 保存修改后的Excel文件 wb.save('D:/CNEUN/6、项目/11、电力物资/广西物资/会议讨论资料/5.31会议沟通/会后复盘/名称字段.xlsx')
这样就可以避免尝试对空单元格进行切片操作而出现的TypeError错误了。
D:\pythonProject1\main.py:154: MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later. plt.show() Traceback (most recent call last): File "D:\pythonProject1\main.py", line 177, in <module> y_true = y_test[np.arange(y_test.shape[0]), y.astype(int)] ValueError: invalid literal for int() with base 10: '!'
根据你提供的信息,看起来你在使用 Python 的 Matplotlib 库进行数据可视化时遇到了一个警告和一个错误。警告是 MatplotlibDeprecationWarning,告诉你 FigureCanvases 没有 required_interactive_framework 属性将在未来的版本中被删除。错误是 ValueError,错误消息是 "invalid literal for int() with base 10: '!'",这意味着你试图将一个不能转换为整数的字符串传递给 int() 函数。可能是你的代码中某个地方将一个字符串 "!" 错误地传给了 int() 函数。你可以检查你的代码,找到这个问题所在并进行修正。同时,也建议你升级 Matplotlib 库以避免未来的问题。
阅读全文