Dataframe Pyspark-将不等式条件动态传递给数据帧联接
我使用的代码来自另一个问题:我的问题是除了ON子句之外,如何在这里传递连接的不等式条件 e、 g我的连接条件是Dataframe Pyspark-将不等式条件动态传递给数据帧联接,dataframe,join,dynamic,pyspark,inequality,Dataframe,Join,Dynamic,Pyspark,Inequality,我使用的代码来自另一个问题:我的问题是除了ON子句之外,如何在这里传递连接的不等式条件 e、 g我的连接条件是(“ID==ID”)&(DATE1DATE4)) 如果我的条件仅为ID==ID,我可以使用list\u of_join\u columns=['ID']来实现这一点,但我想在下面的代码中通过不等式条件:请告知如何实现这一点 ***现行守则***** def join_dataframes(list_of_join_columns, left_df, right_df): retu
(“ID==ID”)&(DATE1DATE4))
如果我的条件仅为ID==ID
,我可以使用list\u of_join\u columns=['ID']
来实现这一点,但我想在下面的代码中通过不等式条件:请告知如何实现这一点
***现行守则*****
def join_dataframes(list_of_join_columns, left_df, right_df):
return left_df.join(right_df, on=list_of_join_columns)
joined_df = functools.reduce(
functools.partial(join_dataframes, list_of_join_columns), list_of_dataframes,
)
如果两个数据帧中的列名不同,则需要在连接条件中标记数据帧名称和列 此外,建议重命名右侧的dataframe公共列,如id
right\u-df=right\u-df.with column重命名(“ID”,“right\u-ID”)
new_df=left_df.join(right_df,(left_df.ID==right_df.right_ID)和((left_df.DATE1right_df.DATE4))
我希望能够将连接条件作为参数传递,就像“连接列列表”一样正在此处传递。因为我要传递联接列以及其他条件表达式。