Issue reshaping an array into (28, 28) for an MNIST image

When running this code, I want to show the image in matplotlib but am I getting an error in some_digit_image = some_digit.reshape(28, 28) where I get the ValueError: cannot reshape array of size 1 into shape (28, 28). Is there any way to fix this issue and get the image in the matplotlib. Thanks for helping me solve the issue.

from sklearn.datasets import fetch_openml
mnist = fetch_openml('mnist_784')

X, y = mnist["data"], mnist["target"]

%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt

some_digit = X.loc[[36000]]

some_digit_image = some_digit.reshape(28, 28)

plt.imshow(some_digit_image,, interpolation='nearest')

>Solution :

You are trying to perform reshape on dataframe object. Convert the data frame object to numpy array (some_digit = X.loc[[36000]].to_numpy()). It would fix the issue.

Leave a Reply