使用Python的pandas库来实现。假设数据框名为df,唯一列为‘col1’,需要取样的行数为3,则代码示例如下:
import pandas as pd
# 每个唯一列值中需要取样的行数
n = 3
# 按唯一列列‘col1’进行分组,并设定index为False,不保留分组列
grouped = df.groupby('col1', group_keys=False)
# 在每个分组内随机抽取n行
sampled_df = grouped.apply(lambda x: x.sample(n))
# 将抽样结果重新排序
sampled_df.reset_index(drop=True, inplace=True)
# 返回抽样后的数据框
return sampled_df
下一篇:按照唯一值分组并计算每个组的总和