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

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

Похожие вопросы
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект
28 нояб. 2024, в 17:38
12000 руб./за проект