Py学习  »  Python

通过一个接受多个输入的循环来自动化这个函数-python 3.7

خالد عبدلصبور • 4 年前 • 145 次点击  

我编写了一个使用ESM预测库存数据的函数。它需要两个输入,一个是列名,另一个是训练比率。现在,我已经将其设置为将这些作为用户输入,所以每次运行它时,我都必须手动输入它们。共有4列,每列(库存)需要以0.6、0.7、0.8和0.9的培训比率运行。所以,我需要一个循环,从第一列开始,然后一个接一个地取4个比率,然后移到下一列。如有任何帮助,我们将不胜感激。

我试着用谷歌搜索,但找不到任何具体的信息。相信我,伙计们,我试过了。对不起,我完全不懂这个。请参阅下面与问题相关的部分代码。

def esm():
    data  = input('Please Enter Stock Name: ')
    ratio = float(input('Please enter split: '))

    X = series[data].values
    size = int(len(X) * ratio)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38674
 
145 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Terry Jo
Reply   •   1 楼
Terry Jo    4 年前

这是你想要的吗? 您可以使ESM函数接受两个参数,并且可以在循环中重用此函数。

def esm(data, ratio):
    X = series[data].values
    size = int(len(X) * ratio)


for data in ["col1", "col2", "col3", "col4"]:
    for ratio in [0.6, 0.7, 0.8, 0.9]:
        esm(data, ratio)
        # do something