如何從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. 如何從SQL查詢選擇中選擇一個隨機行?
- 5. 如何從Golang的一系列隨機數中進行選擇?
- 6. 如何從數據庫中選擇隨機行 - 扭曲?
- 7. 如何從數據庫中隨機選擇一行?
- 8. 如何從SQL中的一組數字中選擇隨機數
- 9. MySQL - 從大表中選擇隨機行
- 10. 從MySQL表中隨機選擇行
- 11. 從表中自動選擇隨機行
- 12. MYSQL從兩行中隨機選擇
- 13. 從文件中隨機選擇一行
- 14. 選擇隨機行
- 15. 從任意數量條件的熊貓DataFrame中選擇行
- 16. 如何從MySQL中的每個組中選擇隨機行?
- 17. 如何從MySQL中的表中選擇一個隨機行?
- 18. 如何從MySQL中的表中選擇隨機行
- 19. 如何選擇一組隨機的行?
- 20. 從WHILE中隨機選擇
- 21. 從JSON中隨機選擇
- 22. 如何從mysql表中隨機選擇或隨機播放它?
- 23. 如何從MySQL中隨機選擇行進行分頁?
- 24. PHP - 如何從表中選擇隨機但不同的行
- 25. 如何從表中隨機選擇唯一的行對?
- 26. 如何從表中選擇2個不同的隨機行?
- 27. 隨機地從行的子集選擇
- 28. 如何從數組中隨機篩選和選擇CGPoint
- 29. 從隨機數組中選擇值PHP
- 30. 從關聯數組中隨機選擇
你就不能使用'df.sample()'? – mtoto
@mtoto sample()返回一個近似數字,但在某些情況下,算法會請求一個確切的數字。 – Boris