В настоящее время у меня есть этот df (ниже приведены уникальные значения) строк и распределения p =[0.5, 0.33, 0.12, 0.05]
vid res
v1 '1072X1920'
v2 '240X416'
v3 '360X640'
v4 '720X1280'
В серии более 5000 строк, и мне нужно выбрать 3000 видео с указанным выше распределением.Я знаю, что могу сделать это, разделив df на 4 части, по одной на каждое разрешение, и использую df.sample [: p [i] * 3000], например
df1072 = df[df['res'] == '1072X1920']
df1072 = df1072.sample(0.5 * 3000)
, но есть ли лучший способсделай это?Если бы у меня было 10 уникальных рез, то мне нужно было бы создать 10 df в памяти, и это не очень хорошо масштабируется.Я думал, что np.random.choice()
может помочь, но не уверен в данный момент.