我有两个数据帧。第一个数据框只包含一列business_contact_nr
,它是一组客户端编号。
| business_contact_nr |
34567
45678
第二个数据框包含多个列,bc
包含客户端编号,其他列包含有关这些客户端的信息。
| bc | gender | savings | month |
34567 1 100 200512
34567 1 200 200601
45678 0 500 200512
45678 0 500 200601
01234 1 60 200512
01234 1 150 200601
我想要做的是根据第二个数据帧中的客户端编号是否与第一个数据帧中的客户端编号匹配来对第二个数据框进行子集化。
因此,应删除不在第一个数据框中的所有客户编号,在这种情况下,所有行都在bc = 01234
。
我正在与Pyspark 1.6.1合作。关于如何做到这一点的任何想法?
答案 0 :(得分:2)
这可以通过join
来解决。假设df1
是您的第一个数据帧,df2
是您的第二个数据帧。然后,您可以先重命名df1.business_contact_nr
和join
:
df1 = df1.withColumnRenamed('business_contact_nr', 'bc')
df2subset = df2.join(df1, on='bc')