说我有一个看起来像这样的数据框:
id_1 id_2
aa 123
bb 123
cc 234
dd 123
ee 678
FF 456
gg 123
我如何在id_2列中最多只能有3个(或任何其他数量)相同项目的情况下进行抽样?我们不一定需要为此列设置3或2个相同的项目(因为它是随机样本,所以必须是随机选择),但是如果要重复,则最多可以重复X次(由a定义)阈值)
说n = 5且阈值为3
id_1 id_2
aa 123
dd 123
ee 678
FF 456
gg 123
import pandas as pd
df = pd.read_clipboard()
def get_sample(df, thresh):
df1 = df.sample(n=5)
while df1.id_2.value_counts().max() > thresh:
print(df1.id_2.value_counts().max())
df1 = df.sample(n=5)
return df1
df1 = get_sample(df, 3)
print(df1)
id_1 id_2
3 dd 123
4 ee 678
5 FF 456
6 gg 123
1 bb 123