当前位置: 首页 > 知识库问答 >
问题:

如何解决Matplotlib TypeError:只有整数标量数组可以转换为标量索引

尚棋
2023-03-14

我正在尝试打印带有cifar-10数据标签的图形xlabel。然而,我不断得到这种类型的错误,如下所示。

TypeError: only integer scalar arrays can be converted to a scalar index

import tensorflow as tf 
from tensorflow import keras

from tensorflow.keras.datasets.cifar10 import load_data

import numpy as np
import matplotlib.pyplot as plt

tf.keras.datasets.cifar10.load_data()

(x_train,y_train),(x_test,y_test)=tf.keras.datasets.cifar10.load_data()

class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
           'dog', 'frog', 'horse', 'ship', 'truck']

x_train=x_train/255.0
x_test=x_test/255.0

plt.figure(figsize=(10,10))
for i in range(25):
    plt.subplot(5,5,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    plt.imshow(x_train[i], cmap=plt.cm.binary)
    plt.xlabel(class_names[x_train[i]])
plt.show()

它说问题出在plt上。xlabel(class_name[x_train[i]])这条线。请帮我解决这个问题。

共有1个答案

古明煦
2023-03-14

这是简单的打字错误。您需要更改以下行。随着这一变化,一切都按预期进行。

从…起

plt.xlabel(class_names[x_train[i]])

plt.xlabel(class_names[y_train[i][0]])

完整的代码在这里供您参考。

 类似资料:
  • 我正在尝试一个来自github链接的tensorflow的简单演示代码 我目前正在使用python版本3.5。2 我在命令行中尝试board.py时遇到了这个错误。我已经安装了运行此操作所需的所有依赖项。

  • 我为这个问题制作了两个数组的简单示例:是一个一维数组,索引处有标签,对应于nD数组的相同索引。我获取标签2出现的所有索引,并希望检索中的值。 因此,如果我想要标签2,我得到索引0和3,这应该给我相应数组中索引0和3的值。 但是当我想调用我的函数时,我收到一个TypeError@。 我的职能:

  • 我知道关于这个错误已经有几个问题了。但在这种特殊情况下,我不确定是否已经有了解决我问题的方法。我有这部分代码,我想打印数据帧df的“y”列。发生以下错误:TypeError:只有整数标量数组才能转换为标量索引 可以打印整个数据帧。这看起来像: 这是整个错误消息: 我认为这与numpy阵列有关。提前谢谢你!

  • 我试着用pylot来模拟单摆。为此,我创建了类钟摆,在其中一个方法中,我不断得到相同的错误。 错误代码为: 文件“C:\Users\Lucas\Anaconda3\envs\Spyder\lib\site packages\numpy\core\fromnumeric.py”,第47行,在_wrapitresult=getattr(asarray(obj),method)中(*args,**kwd

  • 我想从官方熊猫留档...DataFrame.fillna所以基本上用值1填充df数据框“myc”列中的NaN值。 数据帧 代码1 成果目标1 误差表第1页 代码2我后来还尝试列出any_feature列 错误2 尝试解决方案 Not dictionary - Pandas: Getting "TypeError: only integer scalar arrays can be converte

  • 数据文件:pattern1.ktx 结果:TypeError:只能将整数标量数组转换为标量索引 看起来够简单?不过我不明白。如何解决这个问题?谢谢你。 这个怎么样? 同样的错误。如何修复?