Как случайным образом выбирать строки из Pandas DataFrame

| | | | | | | | | | | | | | | | | | | | |

Создайте простой фрейм данных со словарем списков.


# Импорт пакета pandas

import pandas as pd

< br> # Определить словарь, содержащий данные о сотрудниках

data = { `Имя` : [ ` Jai` , `Princi` , `Гаурав` , ` Анудж` , `Geeku` ],

`Возраст` : [ 27 , 24 , 22 , 32 , 15 ],

`Адрес` : [ `Дели` , ` Канпур` , `Аллахабад` , `Kannauj` , `Noida` ],

`Квалификация` : [ ` Msc` , `MA` , `MCA` , `Phd` , `10th` ]}


# Преобразование словаря в DataFrame

df = pd.DataFrame (data)


# выбрать все столбцы
df

Способ № 1: Использование метода

# Выбирает случайную строку используя образец ()
# без указания каких-либо параметров.


# Импорт пакета pandas

import pandas as pd


# Определить словарь, содержащий данные о сотрудниках

data = { `Name ` : [ `Jai` , `Princi` , ` Gaurav` , `Anuj` , ` Geeku` ],

`Возраст` : [ 27 , 24 , 22 , 32 , 15 ],

`Адрес ` : [ ` Дели` , ` Канпур` , "Аллахабад" , `Каннаудж` , ` Noida` ],

`Квалификация` : [ ` Msc` , `MA` , ` MCA` , `Phd` , ` 10th` ]}


# Преобразование словаря в DataFrame

df = pd.DataFrame (data)


# Выберите случайную строку, используя образец ( ) < br> # без указания каких-либо параметров
df.sample ()

Вывод:

Пример 2. Использование параметра n, который случайным образом выбирает n номера строк.

Выбрать n строку числа случайным образом, используя sample (n) или sample (n = n) . Каждый раз, когда вы запускаете это, вы получаете n разных строк.


# Чтобы получить 3 случайные строки
# это дает каждый раз 3 разные строки


# df .sample (3) или

df.sample (n = 3 )

Вывод:

Пример 3: Использование параметра frac .

Вы можете сделать часть элементов оси и получить линии. Например, если frac = .5 , метод fetch возвращает 50 % строк.


# Строка дробь


# здесь вы получите .50% строк

df.sample (frac = 0,5 )

Вывод:


Пример 4.
Во-первых, извлекается 70% строк всего dataframe df и помещаем в другой фрейм данных df1, после чего выбираем 50% frac из df1.


# часть строки

< br> # здесь вы получаете 70% строки из df
# make put in a другой фрейм данных df1

df1 = df .sample(frac = . 7 )


# Теперь выберите 50% строк из df1

df1.sample (frac = . 50 )

Вывод:

Пример 5: случайный выбор нескольких строк с параметром replace = false

replace d Дает разрешение на выбор одной строки много раз (например). Значение по умолчанию для параметра замены метода sample() — False, поэтому вы никогда не выберете больше, чем общее количество строк.


< td class ="code ">

# Dataframe df имеет только 4 строки


# если мы попробуйте выбрать более 4 строк, появится ошибка
# Невозможно взять выборку больше, чем совокупность, когда & # 39; заменить = Ложь & # 39;

df1.sample(n = 3 , заменить = False )

Вывод:

Пример 6 Выберите более n строки, где n — общее количество строк с использованием replace .


< td class ="code ">

# Выберите больше строк с заменой
# по умолчанию False

df1.sample (n = 6 , заменить = True )

Вывод:

Пример 7. Использование весов


Вывод:

Пример 9: Использование random_state

Для заданного DataFrame выборка всегда будет извлекать одни и те же строки. Если random_state имеет значение None или np.random , то возвращается случайным образом инициализированный объект RandomState.


# С этим seed образец всегда будет рисовать одни и те же линии.


# Если random_state равно None или np. random,
# затем случайным образом инициализируется
# Возвращается объект RandomState.

df1.sample (n = 2 , random_state = 2 )

Вывод:

–° учебник № 2: Использование NumPy

Numpy выбрал количество индексов включить для случайного выбора, и мы можем разрешить замену.

# Pandas Import and Numpy Package

import numpy as np

import pandas as pd


# Определите словарь, содержащий данные о сотрудниках

данные = { `Имя` : [ `Jai` , ` Princi` , `Гаурав` , ` Ану дж` , `Geeku` ], < / p>

`Возраст` : [ 27 , 24 , 22 , 32 , 15 ],

`Адрес` : [ <код e class ="string">` Дели` , `Kanpur` , ` Аллахабад` , `Kannauj` , ` Noida` ],

`Квалификация` : [ ` Msc` , `MA` , ` MCA` , `Phd` , ` 10th` ]}


# Преобразование словаря в DataFrame

df = pd.DataFrame (data)


# Выберите, сколько индексов следует включить для случайного выбора

selected_idx = np.random.choice ( 4 , заменить = True , size = 6 )


df2 = df.iloc [chosen_idx]


df2

Вывод:
< img src = "http://espressocode.top/images/vallthropaderoxbea895981.jpg" />

# Веса будут переконфигурированы автоматически

test_weights = [ 0.2 , 0.2 , 0,2 , 0,4 ]


df1.sample (n = 3 , веса = test_weights)

Вывод:

Пример 8: Использование оси


Ось принимает номер или имя. Метод sample() также позволяет пользователям выбирать столбцы вместо строк с помощью аргумента оси.


# Принимает номер или имя оси.


# пример также позволяет пользователям выбирать столбцы
# вместо строк с помощью аргумент оси.

df1.sample (ось = 0 )