我想用Impala从表中随机抽取n行。我可以想出两种方法,即:
SELECT * FROM TABLE ORDER BY RANDOM() LIMIT <n>
或
SELECT * FROM TABLE TABLESAMPLE SYSTEM(1) limit <n>
在我的例子中,我将n设为10000,并从超过2000万行的表中进行抽样。如果我正确理解,第一个选项实际上为每一行创建了一个0到1之间的随机数,并通过这个随机数进行排序。第二个选项创建了许多不同的“桶”,然后随机抽取至少1%的数据(在实践中,这似乎总是比提供的百分比大得多)。在这两种情况下,我只选择了1000
我有一个数据集,我想从其中按组随机抽样,最多30行。但是,我还希望确保至少包含另一个分组的一行。此外,有些组的行数少于30行,在这种情况下,应该包括该组的所有行。我不能包含我正在处理的确切数据集,因为它是专有的;但是,数据帧df的示例如下:
ID|年龄|州|性别|薪资
1 25 CO M 50000
2 34 CO M 72000
3 28 CO M 52000
4 25 CO F 44000
5 25 CA F 55000
6 34 CA F 100000
7 39 CA M 88000
8 34 CA M 59000
..。最多15000行
因此,我想要一个随机的数据集样本,以便每个州提供
我正在寻找可能的方式随机抽样在PostgreSQL。我找到了几种方法来实现这一点,有不同的优点和缺点。这样做的天真方式是:
select * from Table_Name
order by random()
limit 10;
另一个更快的方法是:
select * from Table_Name
WHERE random() <= 0.01
order by random()
limit 10;
(尽管0.01取决于表大小和样本大小,但这只是一个例子。)
在这两个查询中,为每一行生成一个随机数,并根据这些随机生成的数字进行排序。然后在排序的数字中,选择前10作为最终结果,所以我认为这
我们供应商的数据库有所有数字的数字类型,包括整数和十进制数字。从字面上讲,每个数字类型列都是以数字的形式创建的,没有精度和比例。
这是一个大问题,因为我们需要将这些列映射到目标系统上的适当数据类型,因此我们将从这些表中加载数据。
我们需要知道一个数字是整数还是十进制。
除了进行随机抽样/数据分析之外,是否有可能推断出适当的数据类型?
更新:我接受了下面的答案和@Bohemian的建议。此外,我将使用SAMPLE子句对表进行随机抽样,因为我的源表很大(数十亿行)。
SELECT
MAX(CASE WHEN col1 IS NOT NULL AND col1 <> round(
所以我有一个大的csv文件,我的代码打印所有的行,但是我想打印,例如,从100000行中只打印20行。我知道用random.sample你可以做到这一点,但我不知道怎么做。有什么建议吗?
这是我的密码:
import csv
with open(r'Z:/**/**/**/test_examples_doors/
**') as csvfile:
data = csv.DictReader(csvfile)
for row in data:
if row['open']=='1':
print(row['image&
随机抽样关联数组的最佳方法是什么?我尝试过以下方法,但是randomize方法总是失败。
std::randomize(idx) with {assoc_array.exists(idx);};
我想我可以从关联数组的第一个元素开始,将next方法称为随机次数,以达到所需的目的。但是,有没有更好的办法呢?为什么上面的约束随机化不起作用?
使用SQL Server 2012,我有一个包含700万行的表。PK列是GUID (COMB GUID)。我正在尝试测试一个查询的性能,首先需要更新一个随机抽样的数据,我想更改一个50,000行的列值(而不是主键)。
选择Top 50,000 Order by NEWID()太长了,我认为SQL Server正在扫描整个表。我似乎不能得到正确的语法TABLESAMPLE,它返回一个空集。
让它工作的最好方法是什么?
我有一个像这样的数据文件:
x y location
21 10 ny
12 22 ny
32 90 cha
33 14 cha
...
我想根据百分比随机抽样x和y列的行。我希望30%的x和y行是随机分配的group1,70%的行是随机分配的group2。就像这样:
x y location group
21 10 ny group1
12 22 ny group2
32 90 cha group2
33 14 cha group2
...
我想我可以用mutate()来完成这个任务,但是
我有下面表格的数据。这些病例已被预先聚为不同人群的亚组,包括单身人群。我正在尝试编写一些代码,这些代码将从dataframe中抽样(不需要替换)任何指定数量的行,但尽可能均匀地分布在各个集群中。
> testdata
Cluster Name
1 1 A
2 1 B
3 1 C
4 2 D
5 3 E
6 3 F
7 3 G
8 3 H
9 4 I
10 5 J
11 5