pyspark:如何使用Dataframe?

mrfwxfqh  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(489)

我有以下Dataframe

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.functions import *

sc = SparkContext()
sql = SQLContext(sc)

df1 = sql.createDataFrame([("Mark", 68), ("John", 59), ("Mary", 49)], ['Name', \
'Weight'])

df2 = sql.createDataFrame([("White", 68), ("Smith", 59), ("Gary", 49)], ['Name', \
    'Weight'])

现在我想从权重列中随机选择n=2(可以是任意数量)对,并创建以下对,每对由两个不等的权重组成:

(68, 59)
(49, 68)

然后我只想从df1中选择权重为68和49的,从df2中选择权重为59和68的,并创建另一个Dataframe:

df3 = sql.createDataFrame([("Mark", 68, "Smith", 59), ("Mary", 49, "White", 68)], ['Name1', \
    'Weight1', 'Name2', 'Weight2'])

我在处理大数据。给定n,我首先需要生成n对,然后创建最终的Dataframe。

yfjy0ee7

yfjy0ee71#

尝试:

>>> df1.where(df1['Weight'].between(68, 59)).union(df2.where(df2['Weight'].between(49, 68)))

相关问题