如何從DataFrame中有效選擇精確的隨機行數? 數據包含可以使用的索引列。 如果我必須使用最大大小,索引列上的count()或max()更有效嗎?如何從DataFrame中選擇確切數量的隨機行
0
A
回答
2
一種可能的方法是計算使用.count()
的行數,則使用從sample()
python
的random library以生成從該範圍內的任意長度的隨機序列。最後使用結果列表中的數字vals
來爲您的索引列進行分類。
import random
def sampler(df, col, records):
# Calculate number of rows
colmax = df.count()
# Create random sample from range
vals = random.sample(range(1, colmax), records)
# Use 'vals' to filter DataFrame using 'isin'
return df.filter(df[col].isin(vals))
例子:
df = sc.parallelize([(1,1),(2,1),
(3,1),(4,0),
(5,0),(6,1),
(7,1),(8,0),
(9,0),(10,1)]).toDF(["a","b"])
sampler(df,"a",3).show()
+---+---+
| a| b|
+---+---+
| 3| 1|
| 4| 0|
| 6| 1|
+---+---+
相關問題
- 1. 如何從表中選擇具有確切行數的隨機行?
- 2. Spark DataFrame - 選擇n個隨機行
- 3. 如何從一組隨機數中進行隨機選擇?
- 4. 如何從Golang的一系列隨機數中進行選擇?
- 5. MYSQL從兩行中隨機選擇
- 6. 從MySQL表中隨機選擇行
- 7. 從表中自動選擇隨機行
- 8. 從MS Access表中選擇隨機行
- 9. 選擇隨機行
- 10. 如何從SQL中的一組數字中選擇隨機數
- 11. 從WHILE中隨機選擇
- 12. 從任意數量條件的熊貓DataFrame中選擇行
- 13. 如何從mysql表中隨機選擇或隨機播放它?
- 14. 隨機地從行的子集選擇
- 15. PHP - 如何從表中選擇隨機但不同的行
- 16. 如何從表中隨機選擇唯一的行對?
- 17. 從數組中隨機選擇圖像
- 18. 從數據庫中隨機選擇
- 19. 從關聯數組中隨機選擇
- 20. 從數組中選擇隨機結構
- 21. 從jQuery數組中隨機選擇
- 22. 從文件中選擇隨機數據
- 23. 從數組中隨機選擇
- 24. 從數組列表中隨機選擇
- 25. 從數據框中隨機選擇列
- 26. 如何從數組中隨機篩選和選擇CGPoint
- 27. 如何從TestComplete中的數組中選擇一個隨機值?
- 28. 如何從PHP中的數組中選擇隨機值?
- 29. 從MySQL中選擇可變數量的隨機記錄
- 30. 如何從Android Studio中的數據庫中選擇的隨機行列表中顯示正確的行?
你就不能使用'df.sample()'? – mtoto
@mtoto sample()返回一個近似數字,但在某些情況下,算法會請求一個確切的數字。 – Boris