Как добавить преобразование столбца (сценария), который запрашивает содержимое другого столбца
Я ищу простое выражение, которое помещает "1" в столбец E, если "SomeContent" содержится в столбце D. Я делаю это в Azure ML Workbench через функцию Add Column (script). Вот несколько примеров, которые они дают.
row.ColumnA + row.ColumnB is the same as row["ColumnA"] + row["ColumnB"]
1 if row.ColumnA < 4 else 2
datetime.datetime.now()
float(row.ColumnA) / float(row.ColumnB - 1)
'Bad' if pd.isnull(row.ColumnA) else 'Good'
Какие-нибудь идеи по 1-строчному сценарию я мог бы использовать для этого? Спасибо
1 ответ
Не зная, что вы хотите искать в столбце "D", я все равно думаю, что вы можете найти всю необходимую информацию в приведенных ими примерах.
Сценарий упаковывается функцией, которая собирает вычисленное / предоставленное вами значение и помещает его в новый столбец. Это назначение происходит для каждого ряда индивидуально. Значением может быть статическое значение, произвольный расчет или оно может зависеть от значений в других столбцах конкретной строки.
В разделе "Подсказка" вы можете увидеть два разных способа получения значений из других строк:
The current row is referenced using 'row' and then a column qualifier, for example row.colname or row['colname'].
В вашем случае вы получаете значение для столбца 'D' либо row.D
или же row['D']
После этого все, что вам нужно сделать, это придумать конкретную логику, чтобы убедиться, что "SomeContent" содержится в столбце "D" для этой конкретной строки. В вашем случае "1-строчный скрипт" будет выглядеть примерно так:
1 if [logic ensuring 'SomeContent' is contained in row.D] else 0
Если вам нужна помощь с логикой, вам нужно привести более конкретные примеры.
Вы можете прочитать больше в документации по машинному обучению Azure:
Пример пользовательских преобразований столбцов (Python)
Подготовка данных Python-расширения
Надеюсь это поможет