如何从Pyspark数据框列中选择一些行并将其添加到新数据框?

我有10个数据帧,df1...df10有2列:

df1

id | 2011_result

df2

id | 2012_result, ... ...

df3

id| 2018_result

我想选择一些2011_result值小于阈值的ID。

 sample_ids=df1['2011_result']<threshold].sample(10)['id'].values 

此后,我需要从列表的所有其他数据框中选择其他列的值。

类似这样的东西:

df2[df2['id'].isin(sample_ids)]['2012_result'] df3[df3['id'].isin(sample_ids)]['2013_result']

您能帮忙吗?

pengfei1 回答:如何从Pyspark数据框列中选择一些行并将其添加到新数据框?

首先,您可以使用:

import pyspark.sql.functions as F

sample_ids=df1.filter(F.col("2011_result") < threshold)

然后,您可以使用left_anti连接过滤掉df2df3

df2 = df2.join(sample_ids.select("id"),on="id",how="left_anti")
本文链接:https://www.f2er.com/3105185.html

大家都在问