Обратите внимание, что мой вопрос здесь немного другой:
Я работаю с pandas над набором данных, который содержит много данных (10M +):
q = "SELECT COUNT(*) as total FROM `<public table>`"
df = pd.read_gbq(q, project_id=project, dialect='standard')
Я знаю, что я можно сделать с функцией pandas с параметром frac
, например
df_sample = df.sample(frac=0.01)
, однако я не хочу генерировать оригинальный df с таким размером. Интересно, каков наилучший способ создания фрейма данных с уже отобранными данными?
Я прочитал несколько sql постов, показывающих, что образцы данных были сгенерированы из среза, что абсолютно не приемлемо в моем случае. Образцы данных должны быть максимально равномерно распределены.
Может ли кто-нибудь пролить на меня больше света?
Большое спасибо.
ОБНОВЛЕНИЕ:
Ниже приведена таблица, показывающая, как выглядят данные:
Репутация - это поле, над которым я работаю. Вы можете видеть, что записи большинства имеют очень маленькую репутацию.
Я не хочу работать с кадром данных со всеми записями, я хочу, чтобы данные выборки также выглядели как данные без выборки, например, похожая гистограмма, это то, что я имел в виду "равномерно".
Надеюсь, это немного прояснится.