Pyspark改进了返回数据帧时的重复函数调用



我有一个多个数据框架,我需要应用不同的函数,我想知道是否有一种更好的方法在pyspark中做到这一点?

我现在正在做以下事情:

df1 = function_one(df1)
df2 = function_one(df2)
df3 = function_one(df3)
df1 = function_two(df1, dfx, 0)
df2 = function_two(df2, dfx, 1)
df3 = function_two(df3, dfx, 2)

我已经试过了:

list_dfs = [df1, df2, df3]
num_list = [0,1,2]
for dataframe,num in zip(list_dfs,num_list):
dataframe = function(dataframe)
dataframe  = function_two(dataframe , dfx, num)

不应用更改。有没有一种方法,我可以做一个循环在pyspark和应用函数到多个数据框架?

这只是我快速写的东西(未测试)只是一个建议,不确定它是否比你现在做的更方便(如果你有更多的dfs,显然是)

def make_changes(df):
df = func(df)
df = func2(df)
return df
new_df_list = []
df_list = [df1, df2, df3]
for dfs in df_list:
new_df_list.append(make_changes(dfs))

相关内容

  • 没有找到相关文章