首页 > 解决方案 > 循环遍历在 DataFrame 中创建新列的函数中的元组列表

问题描述

尝试创建一个循环遍历元组列表并将每个新列附加到我的原始 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=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')]

标签: pythonpython-3.xpandasdataframe

解决方案


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 + ...)

推荐阅读