PySpark DataFrame报错:'DataFrame' object has no attribute 'merge'
PySpark DataFrame合并报错解决方案
你遇到的问题是PySpark DataFrame没有merge方法,这个方法是Pandas DataFrame的专属方法,PySpark中合并DataFrame需要使用join方法,两者参数逻辑基本一致,只是方法名不同。
修正后的代码
直接将merge替换为join,保留原有的参数即可:
from pyspark.sql import DataFrame print(isinstance(df_test_filtered_thinfile, DataFrame)) # 使用join替代merge实现左连接 df_thinfile_othercid = df_test_filtered_thinfile.join( df_original, how="left", on="ID", lsuffix='_left' )
参数说明
how="left":对应原代码的左连接逻辑,PySpark的join支持inner、left、right、full等连接类型,和Pandasmerge的how参数完全一致。on="ID":指定用于连接的键列,和原代码逻辑相同。lsuffix='_left':当两个DataFrame存在重名列时,给左表的重名列添加后缀,避免列名冲突,你也可以根据需要添加rsuffix参数给右表重名列加后缀。
内容的提问来源于stack exchange,提问作者user17122232
相关产品推荐
相关产品推荐

