Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过迭代数据帧来填充函数参数_Python_Pandas_Dataframe_For Loop_Iteration - Fatal编程技术网

Python 如何通过迭代数据帧来填充函数参数

Python 如何通过迭代数据帧来填充函数参数,python,pandas,dataframe,for-loop,iteration,Python,Pandas,Dataframe,For Loop,Iteration,我试图迭代数据帧“indicators”来填充函数“Rangos”,它应该会返回一个每行一个数据帧的元组 这是我的代码: import pandas as pd def Rango(Estandar, Pronostico, Meta): Tolerancia = float(Estandar*0.6)+float(Meta*0.2)+float(Pronostico*0.2) x = float(Tolerancia/3) n_3 = Tolerancia n

我试图迭代数据帧“indicators”来填充函数“Rangos”,它应该会返回一个每行一个数据帧的元组

这是我的代码:

import pandas as pd

def Rango(Estandar, Pronostico, Meta):
    Tolerancia = float(Estandar*0.6)+float(Meta*0.2)+float(Pronostico*0.2)
    x = float(Tolerancia/3)
    n_3 = Tolerancia
    n_2 = float(Tolerancia - x)
    n_1 = (n_2 - float(n_2/3))
    n_4 = (n_3 + x)
    n_5 = (n_4 + float(n_4/3))
    rangos = pd.DataFrame({"1": [n_1],
                       "2": [n_2],
                       "3": [n_3],
                       "4": [n_4],
                       "5": [n_5]})
    return rangos


indicadores = pd.DataFrame({ "Estandar": [162, 150, 170],
                            "Pronostico": [165, 163, 150],
                            "Meta": [155, 170, 145]})
In[91]: indicadores
Out[91]: 
   Estandar  Pronostico  Meta
0       162         165   155
1       150         163   170
2       170         150   145



def rangos(Dataset):
    for index, row in indicadores.iterrows():
        x = (Rango(row['Estandar'], row['Pronostico'], row["Meta"]))
        y = (Rango(row['Estandar'], row['Pronostico'], row["Meta"]))
        z = (Rango(row['Estandar'], row['Pronostico'], row["Meta"]))
    return x,y,z

x = rangos(indicadores)

In[94]: x
Out[94]: 
(           1           2      3           4           5
 0  71.644444  107.466667  161.2  214.933333  286.577778,
            1           2      3           4           5
 0  71.644444  107.466667  161.2  214.933333  286.577778,
            1           2      3           4           5
 0  71.644444  107.466667  161.2  214.933333  286.577778)
每个数据帧的结果应该不同

希望你能帮助我


提前谢谢

不清楚您期望的输出是什么。。。你能提供一个你期望的输出的例子吗?嗨!我刚刚修改了be clearerIn
rangos
函数的问题,返回语句在for循环中!!!。是我的错。我已经改正了,但结果还是一样的:(