Задать вопрос
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
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@dmshar
Потому что
iris['spec']=1
присваивает значение ВСЕМ элементам столбца. А поскольку в последних иттерациях цикла у вас срабатывает else, вот и получаете в этом столбце все тройки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы