我正在围绕特定数据集编写一个包装类,该数据集将表示为 pandas 数据框。大约有15根柱子。我希望用户能够在类构建时选择他们想要的列。每列都是通过调用类中的方法来构造的,即
defcalculate_feature1():
。我正在考虑为每列创建一个 bool 构造函数参数,但我想知道是否有更好的模式。
class MyCoolDFWrapper:
def __init__(include_feature_1=True, include_feature_2=True, etc ...)
def calc_feature_1():
pass
...
def calc_feature_n():
pass
def get_data(self):
return self.df[ " go calculate list of features they wanted to include " ]
这个可以改进吗?
最佳答案
您可以使用纯关键字参数,如下所示:
def my_function(arg1, **kwargs)
传递给 my_function 的任何参数都将被放置在字典 kwargs 中。您可以在运行时在函数内查看字典的内容。
因此,您可以为其提供您想要的 15 个 bool 参数,或者只是一个包含您想要的列的整数数组,并基于该数组您可以调用您的函数。但我想问的是,你真的需要 15 个函数来计算特征吗?
关于从 pandas 数据框中选择特征的 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071007/