我正在寻找一个简单的表达式,如果D列中包含“ SomeContent”,则在E列中放置“ 1”。我正在Azure ML Workbench中通过其“添加列”(脚本)函数进行此操作。他们提供了一些示例。
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行脚本中使用任何想法吗?谢谢
答案 0 :(得分:0)
在没有真正知道要在“ D”列中查找什么的情况下,我仍然认为您可以在他们提供的示例中找到所需的所有信息。
该脚本由一个函数包装,该函数收集您计算/提供的值并将其放在新列中。每个行分别进行此分配。该值可以是静态值,可以是任意计算,也可以取决于特定行的其他列中的值。
在“提示”部分,您可以看到从其他行获取值的两种不同方式:
Bar ToNonLastBar(Foo foo) {...}
Bar ToLastBar(Foo foo) {...}
对于您而言,您可以通过The current row is referenced using 'row' and then a column qualifier, for example row.colname or row['colname'].
或row.D
此后,您所需要做的就是提出特定的逻辑,以确保该特定行的“ D”列中是否包含“ SomeContent”。在您的情况下,“ 1行脚本”如下所示:
row['D']
如果您需要逻辑方面的帮助,则需要提供更具体的示例。
您可以在Azure机器学习文档中阅读更多信息:
Sample of custom column transforms (Python)
Data Preparations Python extensions
希望这会有所帮助