如何解决如何在没有my_compute_function的情况下访问数据框
如何在不使用my_compute_function的情况下使用数据集。我想从存储库中的file1调用另一个文件中定义的函数。在第二个文件中,我要使用数据集my_input_integration,可能没有my_compute_function。如何合并来自两个不同存储库文件的数据集。我不想合并到一个文件中,因为我想将第二个文件用作实用程序文件。如果任何人都可以回答这个问题,那就太好了。
存储库文件1
from transforms.api import transform,Input,Output
@transform(
my_output=Output("/my/output"),my_input=Input("/my/input"),)
def my_compute_function(my_input,my_output):
return calling_function(my_input,my_output)
存储库文件2
from transforms.api import transform,Output
@transform(
my_input_integration =Input("/my/input"),)
def calling_function(my_input,my_output,my_input_integration??)
return my_output.write_dataframe(
my_input.dataframe(),column_descriptions=my_dictionary
)
解决方法
如果我正确理解了您要实现的目标,那么您将无法直接执行此操作-必须在该转换中定义对转换的任何输入,然后将其传递到实用程序函数中,注入”输入。
因此,实现所需目标的最直接方法是执行以下操作:
文件1:
@transform(
my_output=Output("/my/output"),my_input=Input("/my/input"),my_input_integration=Input("/my/input_integration"),)
def my_compute_function(my_input,my_output,my_input_integration):
return calling_function(my_input,my_input_integration)
文件2:
def calling_function(my_input,my_input_integration)
return my_output.write_dataframe(
my_input.dataframe(),column_descriptions=my_dictionary
)
如果您真的认为您需要自动“注入”数据集的功能,并且将它们作为参数添加到转换中太麻烦了,那么可以采用更复杂的方法来定义要应用的自定义包装器转换功能,使输入数据集自动可用。不过,我确实会避免这种情况,因为它给代码增加了很多复杂性和“魔力”,这对于新手和新手来说都是很难理解的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。