#python #seaborn
#питон #seaborn #python
Вопрос:
Я изучаю «сиборн»
На первом этапе рисования «regplot» у меня возникла проблема
приведенная ниже кодировка выдает мне ошибку, TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
Я не понимаю этой ошибки.
Это мои вопросы
-
dtype (возраст) и dtype (float) все являются float, но почему ошибка говорит int?
-
Как мне это сделать, чтобы решить проблему?
дайте мне совет, пожалуйста. Заранее благодарю вас!!
enter code here
import seaborn as sns
import matplotlib.pyplot as plt
titanic = sns.load_dataset('titanic',dtype=np.int32)
sns.set_style('darkgrid')
fig = plt.figure(figsize=(15,5))
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)
sns.regplot(x='age',y='fare', data=titanic, ax=ax1)
sns.regplot(x='age',y='fare', data=titanic, ax=ax2, fit_reg=False)
plt.show()
Комментарии:
1. Вы пробовали использовать
dtype=np.int64
вместоnp.int32
в строке, куда вы загружаете набор данных? Что происходит, когда вы это делаете?2. Вам не следует
dtype
делатьnp.int32
это принудительно, поскольку некоторые данные в titanic.csv не являются целыми числами. После удаления этого ограничения ваш код отлично работает с seaborn 0.10.1.3. я попытался обновить версию seaborn. после этого кодирование работало хорошо (я также удалил np.int32) Спасибо!!!