我不得不dataframe拆分為多個較小的dataframes基於值的列,性別和狀態,最終目標是每個dataframe接的隨機樣本
我想實現一個示例如下解釋,我很新的火花/ scala,所以需要一些輸入是如何可以在一個有效的方式來實現。我有一個這樣的示例數據幀:
| | id名稱|性別| |部門| | 1 | M Ram | | KA | ECE | | 2 |王妃CSE F據美聯社| | | | | 3 |巴拉特| |米卡| EEE | | 4 | Jaya | |米MH | MEC | | 5 |悉F | | MH | ECE | | 6 |華納| |米卡| CSE | | 7 F瑪雅| | | |了EEE | | 8 | |查雅(F CSE了| | | + - - - + - - - + - - - + - - - + - - - +
我想把這個數據幀分成子數據幀基於性別和狀態列。
首先,我將它分成兩個使用過濾器按性別:
df1:
+ - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - + - - - - - - - - - - - - + +——+ | 1 | M Ram | | KA | ECE | | 3 |巴拉特| |米卡| EEE | | 4 | Jaya | |米MH | MEC | | 6 |華納| |米卡| CSE | + - - - + - - - + - - - + - - - + - - - +
df2:
+ - - - + - - - + - - - - - - +——+——+ | | id名稱|性別| |部門| + - - - + - - - - - - - - - - - - + +——+——+ | 2 |王妃CSE F據美聯社| | | | | 5 |悉F | | MH | ECE | | 7 F瑪雅| | | |了EEE | | 8 | |查雅(F CSE了| | | + - - - + - - - + - - - - - - - - - - - - + - - - +
我已經創建了性別使用列表
val colName = "性別" val genderList = df.select (colName) .distinct () .collect ()
然後使用這個在迭代循環產生許多dataframes基於狀態,如
+ - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - + - - - - - - - - - - - - + +——+ | 1 | M Ram | | KA | ECE | | 3 |巴拉特| |米卡| EEE | | 6 |華納| |米卡| CSE | + - - - + - - - + - - - + - - - + - - - +
+ - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - + - - - - - - - - - - - - + +——+ | 4 | Jaya | |米MH | MEC | + - - - + - - - - - - - - - - - - + +——+——+ + - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - - - - - - - - - - + +——+——+ | 2 |王妃F CSE據美聯社| | | |
+ - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - + - - - + - - - - - - - - - - - F + | 5 | Sita | | MH | ECE | + - - - + - - - - - - - - - - - - + +——+——+ | | id名稱|性別| |部門| + - - - + - - - - - - - - - - - - + +——+——+ | 7 F瑪雅| | | |了EEE | | 8 | |查雅(F CSE了| | | + - - - + - - - + - - - - - - - - - - - - + - - - +
但實際數據幀將有一個大數據將使這段代碼乏味。有這樣做的方法在一個有效的方式嗎?
我很新,仍然學習,如果確實有一種不同的方法這個問題,讓我知道我的建議。
問候