【问题标题】:How to pass a literal value to a node? [closed]如何将文字值传递给节点? [关闭]
【发布时间】:2019-11-15 11:11:13
【问题描述】:

我有一个函数

def do_something(input_data, column: int):

    # Do something with one column of the data

现在我需要创建一个节点,但我做不到node(do_something, ["input_data", 1], "output")。如何将常量值放入节点?

【问题讨论】:

    标签: python kedro


    【解决方案1】:

    一种方法是通过参数传递数据。将column_number: 1 添加到parameters.yaml 文件中,然后您的节点定义将类似于node(do_somethingm ["input_data", "params:column_number"], "output")

    如果你需要在多个节点中复用相同的功能,改变列,那么它就不容易工作了。相反,您可以使用partial,例如node(partial(do_comething, column=1), "input_data", "output"])

    【讨论】:

    • 建议使用update_wrapper 获取更多信息日志消息,因为partial 对象默认没有__name____doc__ 属性。 p1 = partial(do_something, column=1); node(update_wrapper(p1, do_something))
    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2011-01-12
    • 2015-11-25
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多