У меня есть pandas фрейм данных с именем ratings_full
в форме:
userID nr_votes
123 12
124 14
234 22
346 35
763 45
238 1
127 17
Я хочу взять образец этого фрейма данных, так как он содержит десятки тысяч пользователей. Я хочу извлечь 100 пользователей, но как-то расставить приоритеты для тех, у которых значение меньше nr_votes
, без выборки только их. Так что своего рода «расслоенная выборка» на nr_votes
. Является ли это возможным? 1007 1013 *
EDIT : Я был бы даже счастлив, если бы мы могли разделить nr_votes
на N сегментов и выполнить стратифицированную выборку для этих сегментов.
РЕДАКТИРОВАТЬ 2 Я сейчас пытаюсь это сделать:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X=ratings_full.drop([nr_votes], axis=1),
y=ratings_full.nr_votes,
test_size=0.33,
random_state=42,
stratify=y)
Затем мне нужно снова собрать фреймы данных. Это не идеальный ответ, но он может сработать. Я даже попробую сначала создать ведро и использовать столбец ведра в качестве своих "ярлыков".