Как случайным образом выбрать очень большой набор данных pyArrowPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как случайным образом выбрать очень большой набор данных pyArrow

Сообщение Anonymous »

У меня есть очень большой набор данных со стрелками (181 ГБ, 30 м строк) из платформы Huggingface, которую я использовал. Я хочу случайным образом выполнить выборку с заменой 100 строк (20 раз), но, осмотревшись, не могу найти четкого способа сделать это. Я попытался преобразовать в pd.Dataframe, чтобы использовать df.sample(), но каждый раз происходит сбой Python (предположительно из-за большого набора данных). Итак, я ищу что-то встроенное в pyarrow.

Код: Выделить всё

df = Dataset.from_file("embeddings_job/combined_embeddings_small/data-00000-of-00001.arrow")
df=df.to_table().to_pandas() #crashes at this line
random_sample = df.sample(n=100)
Некоторые идеи: не уверен, что это с заменой

Код: Выделить всё

import numpy as np
random_indices = np.random.randint(0, len(df), size=100)

# Take the samples from the dataset
sampled_table = df.select(random_indices)

Использование перетасовки «обнимающего лица»

Код: Выделить всё

    sample_size = 100
# Shuffle the dataset
shuffled_dataset = df.shuffle()

# Select the first 100 rows
sampled_dataset = df.select(range(sample_size))
Есть ли другой способ через команды терминала? Будет ли это правильно:

Код: Выделить всё

for i in {1..30}; do shuf -n 1000 -r file > sampled_$i.txt; done
После получения каждого фрагмента планируется пропустить каждый фрагмент через алгоритм случайного леса. Как лучше всего это сделать?
Кроме того, я хотел бы отметить, что любое решение должно гарантировать, что индексы не будут сброшены, когда я получу выходное подмножество.

Подробнее здесь: https://stackoverflow.com/questions/780 ... ow-dataset
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»