Seaborn. Ошибка типа: не удается преобразовать массив данных из dtype (‘int64’) в dtype (‘int32’) в соответствии с правилом «безопасно»

#python #seaborn

#питон #seaborn #python

Вопрос:

Я изучаю «сиборн»

На первом этапе рисования «regplot» у меня возникла проблема

приведенная ниже кодировка выдает мне ошибку, TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'

Я не понимаю этой ошибки.

Это мои вопросы

  1. dtype (возраст) и dtype (float) все являются float, но почему ошибка говорит int?

  2. Как мне это сделать, чтобы решить проблему?

дайте мне совет, пожалуйста. Заранее благодарю вас!!

 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) Спасибо!!!