草庐IT

python - 通过 SQLAlchemy 获取随机行

如何使用SQLAlchemy从表中选择一个或多个随机行? 最佳答案 这是一个非常特定于数据库的问题。我知道PostgreSQL、SQLite、MySQL和Oracle都有随机函数排序的能力,所以你可以在SQLAlchemy中使用它:fromsqlalchemy.sql.expressionimportfunc,selectselect.order_by(func.random())#forPostgreSQL,SQLiteselect.order_by(func.rand())#forMySQLselect.order_by('db

java - 如何在Java中获取文本文件的随机行?

假设有一个文件太大而无法存储。我怎样才能从中得到一条随机线?谢谢。更新:我希望每条线的概率相等。 最佳答案 如果只想要一行,则读取整个文件似乎有点过分。以下应该更有效:使用RandomAccessFile寻找文件中的随机字节位置。向左和向右寻找下一行终止符。让L在它们之间划线。有概率(MIN_LINE_LENGTH/L.length)返回L。否则,从第1步重新开始。这是rejectionsampling的变体.行长包括行终止符,因此MIN_LINE_LENGTH>=1。(如果您知道对行长有更严格的限制,那就更好了)。值得注意的是,该

MySQL 从 600K 行中快速选择 10 个随机行

如何最好地编写一个从总共600k中随机选择10行的查询? 最佳答案 处理多种情况的出色帖子,从简单到间隙,再到带间隙的不均匀。http://jan.kneschke.de/projects/mysql/order-by-rand/对于大多数一般情况,您可以这样做:SELECTnameFROMrandomASr1JOIN(SELECTCEIL(RAND()*(SELECTMAX(id)FROMrandom))ASid)ASr2WHEREr1.id>=r2.idORDERBYr1.idASCLIMIT1这假设id的分布是相等的,并且id

python - Pandas 数据框中的随机行选择

有没有办法从Pandas的DataFrame中选择随机行。在R中,使用car包,有一个有用的函数some(x,n)与head类似,但在本例中,从x中随机选择10行。我还查看了切片文档,似乎没有任何等效的。更新现在使用版本20。有一个示例方法。df.sample(n) 最佳答案 使用pandas版本0.16.1及更高版本,现在有一个DataFrame.samplemethodbuilt-in:importpandasdf=pandas.DataFrame(pandas.np.random.random(100))#Randomlysa

shell - 从文件中读取随机行的简单方法是什么?

在shell脚本中从文件中读取随机行的简单方法是什么? 最佳答案 你可以使用shuf:shuf-n1$FILE还有一个名为rl的实用程序。在Debian中,它位于randomize-lines包中,它完全符合您的要求,但并非在所有发行版中都可用。在其主页上,它实际上建议使用shuf代替(我相信它在创建时并不存在)。shuf是GNUcoreutils的一部分,rl不是。rl-c1$FILE 关于shell-从文件中读取随机行的简单方法是什么?,我们在StackOverflow上找到一个类似

php - Laravel - Eloquent 或 Fluent 随机行

如何在Laravel框架中使用Eloquent或Fluent选择随机行?我知道通过使用SQL,您可以通过RAND()进行排序。但是,我希望得到随机行而不在初始查询之前对记录数进行计数。有什么想法吗? 最佳答案 Laravel>=5.2:User::inRandomOrder()->get();或者获取具体的记录数//5indicatesthenumberofrecordsUser::inRandomOrder()->limit(5)->get();//getonerandomrecordUser::inRandomOrder()->

python - Numpy:从二维数组中获取随机行集

我有一个非常大的二维数组,看起来像这样:a=[[a1,b1,c1],[a2,b2,c2],...,[an,bn,cn]]使用numpy,是否有一种简单的方法可以从初始数组a中获取一个新的二维数组,例如2个随机行(无需替换)?例如b=[[a4,b4,c4],[a99,b99,c99]] 最佳答案 >>>A=np.random.randint(5,size=(10,3))>>>Aarray([[1,3,0],[3,2,0],[0,2,1],[1,1,4],[3,2,2],[0,1,0],[1,3,1],[0,4,1],[2,4,2],[

python - Numpy:从二维数组中获取随机行集

我有一个非常大的二维数组,看起来像这样:a=[[a1,b1,c1],[a2,b2,c2],...,[an,bn,cn]]使用numpy,是否有一种简单的方法可以从初始数组a中获取一个新的二维数组,例如2个随机行(无需替换)?例如b=[[a4,b4,c4],[a99,b99,c99]] 最佳答案 >>>A=np.random.randint(5,size=(10,3))>>>Aarray([[1,3,0],[3,2,0],[0,2,1],[1,1,4],[3,2,2],[0,1,0],[1,3,1],[0,4,1],[2,4,2],[