Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 循环遍历函数中的元组列表,该函数在数据帧中创建新列

Python 循环遍历函数中的元组列表,该函数在数据帧中创建新列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,尝试创建一个函数,该函数循环遍历元组列表,并将每个新列附加到原始数据帧。目前,该函数一次允许一个元组列表,而我在创建的函数中很难遍历所有元组列表。以下是我到目前为止的情况。谢谢你的帮助 def divide_two_cols(df,tuple_list): for x,y,z in tuple_list: calc = df[x] /df[y] calc.replace(np.inf, 0, inplace=Tr

尝试创建一个函数,该函数循环遍历元组列表,并将每个新列附加到原始数据帧。目前,该函数一次允许一个元组列表,而我在创建的函数中很难遍历所有元组列表。以下是我到目前为止的情况。谢谢你的帮助

def divide_two_cols(df,tuple_list):
         for x,y,z in tuple_list: 
                calc = df[x] /df[y]
                calc.replace(np.inf, 0, inplace=True)
                calc.fillna(value = 0, inplace = True)
                df[str(z)] = calc
                return df

 tuple_list_2 = [('Total_Revenue', 'Spend', 'ROAS')]
 tuple_list_3 = [('Total_Revenue', 'Conversions_10D', 'AOS')]
 tuple_list_4 = [('Spend', 'Clicks', 'CPC')]
 tuple_list_5 = [('Conversions_10D', 'Impressions', 'conv_rate')]
 tuple_list_6 = [('Spend', 'Conversions_10D', 'CPA')]
 tuple_list_7 = [('Clicks', 'Impressions', 'CTR')]

如何将它们转换为系列并添加到数据帧中?将两个列分开,tuple\u list\u 2+tuple\u list\u 3+tuple\u list\u 4+@不幸的是,当我添加元组时,只有第一个元组被添加到新的数据帧中。我的代码是否有潜在的错误?@mad_uu请提供一个例子好吗?谢谢行返回df应具有与for循环相同的缩进。否则,仅在一个循环后调用返回。
def divide_two_cols(df,tuple_list):
     for x,y,z in tuple_list: 
            calc = df[x] /df[y]
            calc.replace(np.inf, 0, inplace=True)
            calc.fillna(value = 0, inplace = True)
            df[str(z)] = calc
     return df

divide_two_cols(df, tuple_list_2 + tuple_list_3 + tuple_list_4 + ...)