Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据标准选择随机数据_Python_Dataframe_Dask - Fatal编程技术网

Python 根据标准选择随机数据

Python 根据标准选择随机数据,python,dataframe,dask,Python,Dataframe,Dask,假设我有一个包含4个字段的表 table (id, alpha, beta, delta, gamma) 然后我想根据以下条件选择行 所有4个字段(alpha、beta、delta、gamma)均不为空 对于每个字段组合(alpha、beta、delta、gamma),它至少有7行 SELECT alpha, beta, delta, gamma FROM table GROUP BY alpha, beta, delta, gamma HAVING COUNT(*) >= 7 从每

假设我有一个包含4个字段的表

table (id, alpha, beta, delta, gamma)
然后我想根据以下条件选择行

  • 所有4个字段(
    alpha
    beta
    delta
    gamma
    )均不为空
  • 对于每个字段组合(
    alpha
    beta
    delta
    gamma
    ),它至少有7行

    SELECT alpha, beta, delta, gamma
    FROM table
    GROUP BY alpha, beta, delta, gamma
    HAVING COUNT(*) >= 7
    
  • 从每组中随机选择7到10行

  • 因此,我可能可以通过一系列(或一个大的复杂)SQL查询来实现这一点,但是如果我想使用dask集合或dataframe,这可能吗

    我目前的尝试是通过
    dask.bag
    ,显然效率不高

    bag = (db.read_text('/path/to/the/jsonlines')
           .map(ujson.loads)
           .filter(lambda x: x['alpha'] and x['beta'] and x['delta'] and x['gamma'])
           .groupby(lambda x: (x['alpha'], x['beta'], x['delta'], x['gamma']))
           .filter(lambda x: len(x[1]) > 7))
    
    编辑:数据库预计会随着时间的推移不断增长。jsonlines文件的集合是我需要为任务包含的数据的当前快照(即,我不想要新添加的数据)

    有更好的办法吗