wolverine777
@wolverine777

Почему не получается замена итерацией?

Привет, в датасете 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
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
@dmshar
Потому что
iris['spec']=1
присваивает значение ВСЕМ элементам столбца. А поскольку в последних иттерациях цикла у вас срабатывает else, вот и получаете в этом столбце все тройки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы