不同分层的随机抽样可以通过以下代码示例来实现:
import pandas as pd
import numpy as np
# 创建示例数据集
data = {'group': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 按照group分层抽样
group_samples = df.groupby('group').apply(lambda x: x.sample(2, random_state=1))
# 输出抽样结果
print(group_samples)
这段代码首先创建了一个示例数据集,其中有一个分组变量group和一个数值变量value。然后,利用groupby
函数对数据集按照group进行分组。接下来,使用apply
函数对每个分组进行抽样,其中lambda
函数表示对每个分组抽样2个样本,random_state
参数用于设置随机种子,以确保每次运行时得到的结果是一致的。最后,将抽样结果打印输出。
运行以上代码,输出结果为:
group value
group
A 0 A 1
1 A 2
B 3 B 4
4 B 5
C 6 C 7
8 C 9
可以看到,每个分组中都抽样了2个样本。
下一篇:不同分词器之间的翻译