【发布时间】:2019-03-06 11:04:08
【问题描述】:
我必须在给定的日期时间范围内从 GRE 表中随机选择行。我现在做的方式是在日期时间范围内查询表,然后随机选择行。(请参见下文)这在查询方面变得非常低效,因为我在该范围内有 10 GB 的数据。有一个更好的方法吗?请指教
sp = pd.read_sql("SELECT * FROM table1 WHERE timestamp >= '"+sampling_start_date+"' and timestamp <= '"+sampling_end_date+"'", con)
random_subset = sp.sample(n=300)
时间戳格式如下
sampling_start_date = "2018-08-17 20:00:00"
【问题讨论】:
-
是 Postgres 吗?无论如何,也许您可以对 select 语句中的行进行采样,例如在 WHERE 子句中添加
AND random() < 0.2之类的内容(这将选择大约 20% 的行)。 -
谢谢@amitr:我可以给行数一些值吗?
-
不客气。我已经添加了一个更完整的答案,请看一下。
标签: python pandas random amazon-redshift