2016-10-18 126 views
-1

我有以下dataframesPYSPARK:如何使用数据框?

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并创建另一个数据框:

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

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

回答

0

尝试:

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

谢谢,但我可以有任意数量对的,即给定的n,我首先需要产生N对,然后创建最终的数据帧。 – Alex

相关问题