Привет, в датасете iris я создал новую пустую колонку spec и пытаюсь заменить названия ирисов на цифры, 1, 2 и 3.
Почему-то в результате все ирисы имеют цифрой тройку. Что не так? Спасибо.
iris = sns.load_dataset('iris')
iris['spec'] = ""
for i in iris['species']:
if i=='setosa':
iris['spec']=1
elif i=='versicolor':
iris['spec']=2
else:
iris['spec']=3
Потому что iris['spec']=1
присваивает значение ВСЕМ элементам столбца. А поскольку в последних иттерациях цикла у вас срабатывает else, вот и получаете в этом столбце все тройки.