0

のように私は、2データフレームAとBを持っている:私はなっ2つのデータフレームから2つの列のブール値を計算する方法は?

+----+-----+ 
| k| v| 
+----+-----+ 
|key1|False| 
|key2|True | 
|key3|True | 
|key4|False| 
|key5|False| 
|key6|False| 
+----+-----+ 

A Dataframes is: 
+----+-----+ 
| k| v| 
+----+-----+ 
|key1|False| 
|key2|False| 
|key3|False| 
|key4|False| 
|key5|False| 
|key6|False| 
+----+-----+ 
B Dataframes is: 
+----+----+ 
| k| v| 
+----+----+ 
|key2|True| 
|key3|True| 
+----+----+ 

私はk個の列にAとBのテーブルを結合し、V列を計算したい、などの結果コードのように:

A.join(B,'k','left_out') 

しかし、私は、列Vを算出する方法がわからない

私は自分のコードを変更する@Vitaliy Kotlyarenkoのアイデアを借り:

from pyspark.sql import functions as F 

A.join(B,'k','left_out').withColumn('value', F.col('v') & F.col('v')).drop('v') 

答えて

2

あなたは方法

A.join(B,'k','left_out') 
.withColumn('value', A.col('v') and A.col('v')) 
.select(A.col('id'), col('value')) 

をwithColumn使用することができ、私は上記の例の構文の正しさについてはよく分からない - それは書かれてScalaで作成し、Pythonに翻訳しましたが、それはアイディアを与えるはずです。

関連する問題