我在一个+1100万行数据集中做了一些清理,其中包含了噪音很大的企业名称。我想做一些正则表达式的清理(删除标点符号、空格、数字、重音和一些问题),然后应用一些近似的字符串匹配算法,比如TF或BM25,但这是另一个问题。这是我的前五行(包括标题)。为了达到清理数据集的目标,我首先得到了所有不同的“脏”名称,所以我用pyspark读取数据集并运行:
#in the map method I split the string and select t
我使用下面的代码来连接和删除两个数据帧之间的复制。implicit cartesian products by setting the configuration variable spark.sql.crossJoin.enabled=true;
我的df1有15列,我的df2有50+列。如何在不对要连接的列进行硬编码的情况下连接多个列?我可以加入cols的列表吗?我需要避免硬编码名称,因为cols会因大小写而不同
我正在尝试将不同的聚合函数应用于pyspark中的不同列。按照关于堆栈溢出的一些建议,我尝试了以下方法:the_columns2 = ["customer1","customer2"(c)) for c in the_columns2] df.groupby(*group).agg(*exprs)
其