gpt4 book ai didi

python - 迭代函数参数

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:33 26 4
gpt4 key购买 nike

目的是构建一个函数,以便在机器学习项目中构建训练集。我有几组功能想要尝试(分别、2×2、组合......),所以我将它们作为函数参数。

我还添加了一个字典,以便调用所选功能集的“导入函数”。

例如,如果我选择导入“features1”集,我将调用 import_features1()

我无法迭代函数参数。我尝试使用 **kwargs 但它没有按我的预期工作。

这是我的功能:

def construct_XY(features1=False, features2=False, features3=False, **kwargs):
# -- function dict
features_function = {features1: import_features1,
features2: import_features2,
features3: import_features3}
# -- import target
t_target = import_target()

# -- (trying to) iterate over parameters
for key, value in kwargs.items():
if value is True:
t_features = features_function(key)()
# -- Concat chosen set of features with the target table
t_target = pd.concat([t_target, t_features], axis=1)

return t_target

我应该按照建议使用locals() here

我错过了什么?

最佳答案

你可能想使用这样的东西

# Only accepts keyword attributes
def kw_only(**arguments):
# defaults
arguments['features1'] = arguments.get('features1', False)
arguments['features2'] = arguments.get('features2', False)
arguments['features3'] = arguments.get('features3', False)

for k, v in arguments.items():
print (k, v)

print(kw_only(one=1, two=2))

使用此构造,您将需要在函数中定义默认值。您只能传入关键字参数,并且能够迭代所有这些参数。

关于python - 迭代函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com