GOOGLE ADS

воскресенье, 8 мая 2022 г.

Случайный выбор строки в кадре данных Pandas

Есть ли способ выбрать случайные строки из DataFrame в Pandas.

В R, использующем пакет car, есть полезная функция some(x, n), похожая на head, но в этом примере случайным образом выбирающая 10 строк из x.

Я также просмотрел документацию по нарезке, и похоже, что нет ничего эквивалентного.

Обновлять

Сейчас использую версию 20. Есть пробный метод.

df.sample(n)

Решение проблемы

В версии pandas 0.16.1и выше теперь есть DataFrame.sample встроенный метод:

import pandas
df = pandas.DataFrame(pandas.np.random.random(100))
# Randomly sample 70% of your dataframe
df_percent = df.sample(frac=0.7)
# Randomly sample 7 elements from your dataframe
df_elements = df.sample(n=7)

Для любого вышеуказанного подхода вы можете получить остальные строки, выполнив следующие действия:

df_rest = df.loc[~df.index.isin(df_percent.index)]

Согласно Pedramкомментарию, если вы хотите получить воспроизводимые образцы, передайте random_stateпараметр.

df_percent = df.sample(frac=0.7, random_state=42)

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...