Python 如何将dataframe列与pyspark中的另一个dataframe列进行比较? #DataframeA和DataframeB匹配: DataframeA: 上校:名字“阿里”,“比拉尔”,“阿桑” DataframeB: 上校:名字“阿里”,“比拉尔”,“阿桑” #DataframeC和DataframeD不匹配: DataframeC: 上校:名字“阿里”,“阿桑”,“比拉尔” 数据框: 上校:名字“阿里”,“比拉尔”,“阿桑”
我想在适当的位置匹配列值,任何帮助都将不胜感激。使用下面的Scala代码作为参考,并将其转换为python。根据您的Python 如何将dataframe列与pyspark中的另一个dataframe列进行比较? #DataframeA和DataframeB匹配: DataframeA: 上校:名字“阿里”,“比拉尔”,“阿桑” DataframeB: 上校:名字“阿里”,“比拉尔”,“阿桑” #DataframeC和DataframeD不匹配: DataframeC: 上校:名字“阿里”,“阿桑”,“比拉尔” 数据框: 上校:名字“阿里”,“比拉尔”,“阿桑”,python,dataframe,apache-spark,pyspark,col,Python,Dataframe,Apache Spark,Pyspark,Col,我想在适当的位置匹配列值,任何帮助都将不胜感激。使用下面的Scala代码作为参考,并将其转换为python。根据您的dataframe名称更新valcheck行 scala> val w = Window.orderBy(lit(1)) scala> val check = dfA.withColumn("rn", row_number.over(w)).alias("A").join(dfB.withColumn("rn", row_number.over(w))
dataframe
名称更新valcheck
行
scala> val w = Window.orderBy(lit(1))
scala> val check = dfA.withColumn("rn", row_number.over(w)).alias("A").join(dfB.withColumn("rn", row_number.over(w)).alias("B"), List("rn"),"left").withColumn("check", when(col("A.name") === col("B.name"), lit("match")).otherwise(lit("not match"))).select("check").distinct.count
scala> if (check == 1){
| println("matched")} else (println("not matched"))
在python中使用
set
进行比较
DataframeC.columns
-> ["Ali", "Ahsan", "Bilal"]
DataframeD.columns
-> ["Ali", "Bilal", "Ahsan"]
DataframeC.columns == DataframeD.columns
-> False
set(DataframeC.columns) == set(DataframeD.columns)
-> True
那么问题是什么呢?