Как добавить преобразование столбца (сценария), который запрашивает содержимое другого столбца

Я ищу простое выражение, которое помещает "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-расширения

Надеюсь это поможет

Другие вопросы по тегам