IndexError: слишком много индексов для массива - PullRequest
0 голосов
/ 22 февраля 2019

Я новичок в SE DS, поэтому, пожалуйста, дайте мне знать, если мне нужно отредактировать мой вопрос.

data = pd.read_csv('Desktop/dataset.csv')

# Feature 1
feature_1 = data['expenses']

У меня есть серия, представляющая столбец объектов из моего набора данных:

feature_1.head()

0      6384.911133
1      5099.380859
2      5501.954590
3      7101.831055
4      5235.987793

Name: expenses, Length: 420, dtype: float64

Когда я вызываю feature_1.shape, он возвращает (420,)

. У меня настроена область с графиком и осями и нанесен график:

# Create a figure area with three plots
fig, axes = plt.subplots(1, 3, figsize=(15,4.5))

axes[0, 0].hist(feature_1, bins=5)

Затем возвращается ошибка IndexError: слишком много индексов для массива

Я немного озадачен тем, что может быть здесь, потому что у меня такая же настройка для другого ноутбука, который работает.Есть мысли?

1 Ответ

0 голосов
/ 23 февраля 2019

matplotlib.pyplot.subplots создает массив фигур и осей.Размер массива осей зависит от количества создаваемых участков.Поскольку вы прошли (1, 3), у вас будет три сюжета в одном ряду.Таким образом, ваш массив массивов shape описывает это.Например,

>>> from matplotlib import pyplot as plt
>>> import numpy as np
>>> a = np.random.rand(420)
>>> a.shape
(420,)
>>> fig, axes = plt.subplots(1, 3, figsize=(15,4.5))
>>> axes.shape
(1, 3)
>>> fig, axes = plt.subplots(2, 2, figsize=(15,4.5))
>>> axes.shape
(2, 2)
>>> axes[0].hist(feature_1, bins=5) # gives your histogram in the first subplot. If it was 2x2 subplot, the access would have been axes[i, j]

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...