首页 > 解决方案 > 如何将列表数量的循环作为函数的参数?

问题描述

我需要定义一个循环,将下面提到的数据帧/系列,即(x1,x2,x3,....,x7)作为参数'x'(一次一个df/系列)指向linear_regression函数。函数的“y”参数保持不变。只有 x 输入应更改为 x1、x2、x3 等。

x1 = lr_dataset3[['channel_app', 'channel_mobile', 'channel_others', 'channel_pc', 'channel_wechat']]
x2 = lr_dataset3['quantity']
x3 = lr_dataset3['type_x']
x4 = lr_dataset3['promise']
x5 = lr_dataset3['original_unit_price']
x6 = lr_dataset3['final_unit_price']
x7 = lr_dataset3['direct_discount_per_unit']

y = lr_dataset3['ordered_unordered']

def linear_regression(x, y):
    scaler = StandardScaler()
    reg = LinearRegression()
    if x.ndim == 1:
        x1 = scaler.fit_transform(x.values.reshape(-1, 1))
        result_log = sm.OLS(y, x1).fit()
        return result_log.summary()

    else:
        scaler.fit(x)
        x1 = scaler.transform(x)
        result_log = sm.OLS(y, x1).fit()
        return result_log.summary()

标签: pythonpython-3.xlistfunctionloops

解决方案


推荐阅读