2016-10-18 129 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

相關問題