Функция sns.lmplot в seaborn выдает errorTypeError: Невозможно привести данные массива из dtype ('int64') к dtype ('int32') согласно правилу 'safe' - PullRequest
0 голосов
/ 09 апреля 2020

Я пытался запустить этот код для набора встроенных советов seaborn

tips.info ()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 244 entries, 0 to 243
Data columns (total 7 columns):
 #   Column      Non-Null Count  Dtype   
---  ------      --------------  -----   
 0   total_bill  244 non-null    float64 
 1   tip         244 non-null    float64 
 2   sex         244 non-null    category
 3   smoker      244 non-null    category
 4   day         244 non-null    category
 5   time        244 non-null    category
 6   size        244 non-null    int64   
dtypes: category(4), float64(2), int64(1)
memory usage: 7.0 KB 

sns. lmplot (x = 'total_bill', y = 'tip', data = tips, fit_reg = True)

Генерирует ошибку: TypeError: Невозможно привести данные массива из dtype ('int64' ) в dtype ('int32') в соответствии с правилом 'safe' , даже когда total_bill и tip имеют тип данных float64.

В попытке проверить, где именно происходит ошибка, я попытался запустить тот же код, но без подгонки строки регрессии:

sns.lmplot (x = 'total_bill', y = 'tip', data = tips, fit_reg = False)

Это дало мне идеальный график рассеяния. Но когда я пытаюсь подогнать линию регрессии, используя fit_reg = True (как показано выше), она выдает ту же ошибку TypeError. Почему это вызывает проблемы при подгонке линии регрессии? Аналогичная ошибка возникла при попытке запустить:

sns.barplot (x = 'smoker', y = 'total_bill', data = tips) и

sns.jointplot (x = 'total_bill', y = 'tip', data = tips, kind = 'reg')

Пожалуйста, сообщите мне, как решить эту проблему. Версии numpy и seaborn в моей 64-битной Windows 10 системе:

numpy версия 1.18.2

версия seaborn 0.10.0

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