我的数据框如下所示:
Identifier Strain Other columns, etc.
1 A
2 C
3 D
4 B
5 A
6 C
7 C
8 B
9 D
10 A
11 D
12 D
我想随机选择 n 行,同时保持应变值的多样性。例如,我想要一组 6 人,所以我希望我的最后几行至少包括每种菌株中的一种,其中两种菌株出现两次。
我尝试将 Strain 列转换为 numpy 数组并使用方法 random.choice 但似乎没有运行。我也尝试过使用 .sample 但它不能最大限度地提高应变多样性。
这是我最新的尝试,它按顺序输出大小为 7 的样本(标识符 0-7),并且菌株都是相同的。
randomsample = df[df.Strain == np.random.choice(df['Strain'].unique())].reset_index(drop=True)