Я пытался запустить этот код для набора встроенных советов 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