You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL:按分组变量抽样并筛选关联数据

抽取指定分组的全量关联数据

原始数据

V1Grouptime
ag11
bg12
cg13
dg21
eg22
fg23
gg35
hg36
ig37

需求说明

抽取指定数量的分组样本,保留这些分组下的所有关联数据。例如抽样2个分组(g1、g3),期望得到如下结果:

V1Grouptime
ag11
bg12
cg13
gg35
hg36
ig37

实现方案

方案1:Python pandas处理

import pandas as pd

# 构造原始数据(实际场景可替换为读取文件/数据库)
df = pd.DataFrame({
    'V1': ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'],
    'Group': ['g1', 'g1', 'g1', 'g2', 'g2', 'g2', 'g3', 'g3', 'g3'],
    'time': [1, 2, 3, 1, 2, 3, 5, 6, 7]
})

# 方式A:指定目标分组
target_groups = ['g1', 'g3']
# 方式B:随机抽取2个分组
# target_groups = df['Group'].drop_duplicates().sample(n=2).tolist()

# 筛选数据
result = df[df['Group'].isin(target_groups)]
print(result)

方案2:SQL查询

假设数据表名为data_table:

  • 指定分组查询:
SELECT *
FROM data_table
WHERE `Group` IN ('g1', 'g3');
  • 随机抽取指定数量分组(以MySQL为例):
SELECT t.*
FROM data_table t
INNER JOIN (
    SELECT DISTINCT `Group`
    FROM data_table
    ORDER BY RAND()
    LIMIT 2
) sampled ON t.`Group` = sampled.`Group`;

内容的提问来源于stack exchange,提问作者David Harar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:30:14