2017-01-20 11 views
0

После обновления до matplotlib 2.0 мне трудно получить морское дно, чтобы построить пару. Например ...Seaborn pairplot не отображается KDE

sns.pairplot(df.dropna(), diag_kind='kde') возвращает следующую ошибку: TypeError: slice indices must be integers or None or have an __index__ method. У моих данных нет никаких Nans. Infact, удаление опции kde позволяет запустить эту функцию.

Любая идея, что происходит?

+0

Не могли бы вы предоставить [MCVE] в качестве тестового примера, чтобы каждый мог запустить и воспроизвести ошибку? Это поможет определить, является ли это проблемой в зависимости от используемых данных или общей проблемы между matplotlib, seaborn и pandas. – ImportanceOfBeingErnest

ответ

0

Проверьте тип данных соответствующих переменных. Ошибка указывает, что хотя бы одно из них не является целым числом. Это может быть поплавок. Если это так, вам нужно изменить переменную как целое. Будьте осторожны, если у вас есть очень длинные числа, так как они могут округлить при преобразовании в целое число - см. this question here для получения дополнительной информации.

(Обратите внимание, что это работает для меня в Python 2.7, не уверен, что 3. + отличается).

0

Похоже, проблема заключалась в использовании статистических моделей (которые использует морской замок KDE). Я переустановил statsmodels, и это устранило проблему.