Вопрос или проблема
Я новый в Orange, и это кажется очень полезным для проведения исследовательского анализа данных.
У меня есть один вопрос – можем ли мы использовать виджет для изменения некоторых значений в наборе данных?
Например, несколько числовых столбцов имеют значения 0, что не имеет смысла и должно быть “пропущенными данными”. Я не хочу игнорировать строку, так как данные в некоторых других столбцах важны. Также не все 0 должны быть заменены на “пропущенные данные”, так как для некоторых столбцов 0 является действительными данными. Можем ли мы сделать это с помощью виджета? Я не мог это выяснить.
Спасибо за помощь!
Вы можете сделать это, используя виджет Конструктора признаков с некоторой логикой условий. Например, если рассматривать набор данных о выживании на Титанике, некоторые тарифы отмечены как $0. Это не имеет смысла, так как билеты имеют ненулевую стоимость. Вы можете создать новую переменную под названием fare_new, где действительные тарифы будут скопированы, а значения 0 заменены на пропущенные значения. Смотрите снимок экрана ниже:
Ответ или решение
Для решения задачи изменения значений данных в Orange вы можете воспользоваться виджетом "Конструктор признаков" (Feature Constructor). Это мощный инструмент, который позволяет вам применять условную логику для создания новых переменных на основе существующих.
Шаги для изменения значений
-
Добавление виджета "Конструктор признаков":
После загрузки вашего набора данных, добавьте виджет "Конструктор признаков" в вашу рабочую область. Вы можете найти его в категории "Препроцессинг" (Preprocessing). -
Установление условий:
В рамках виджета вам нужно будет задать условия для замены значений. Например, если у вас есть несколько числовых колонок, где значения 0 неправомерны и должны быть заменены на пропущенные (например, NaN), вы можете указать следующее условие:- Создайте новое поле (например,
fare_new
), в которое вы будете копировать данные из оригинального поля (например,fare
), но при этом замените 0 на пропущенные значения. Логика будет выглядеть следующим образом:if fare == 0 then fare_new = NaN else fare_new = fare
- Создайте новое поле (например,
-
Настройка виджета:
В интерфейсе виджета вы сможете использовать язык выражений для записи условий. Важным моментом является то, что вам нужно будет четко указать, какие колонки вы хотите изменить, и какие значения следует заменить. -
Применение изменений:
После завершения настройки условия и создания нового признака, убедитесь, что вы настроили правильный вывод виджета, чтобы правильно видеть измененные данные. Вы сможете просмотреть результирующий набор данных в "Таблице данных" (Data Table) и убедиться, что значения были изменены корректно. -
Использование результатов:
Полученные данные можно использовать для дальнейшего анализа или визуализации, не теряя важной информации из других колонок.
Дополнительные рекомендации
-
Проверьте целостность данных: После внесения изменений важно проверить корректность и целостность данных, чтобы избежать искажений в анализе.
-
Документирование условий: Сохраните и задокументируйте используемые условия для будущих ссылок или для учета при совместной работе над проектом.
使用这些步骤,您可以轻松地在 Orange 中处理和修改数据集中的特定值。这种方法实现了数据的清理,同时确保了其他重要信息的完整性,为探索性数据分析提供了坚实的基础。