Случайное добавление строк из другой таблицы данных на основе группы и вероятностиPython

Программы на Python
Anonymous
Случайное добавление строк из другой таблицы данных на основе группы и вероятности

Сообщение Anonymous »

Предположим, у меня есть фрейм данных под названием «Main» такого формата:

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

Region  Type    Value
A        1       600
A        2       700
B        1       700
B        2       900
У меня также есть еще один фрейм данных, состоящий из

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

Region  Type   Probability
A        1       50%
A        2       30%
B        1       50%
B        2       30%
Для каждой строки в верхней таблице я проверяю вероятность и заставляю Python бросить игральную кость, которая случайным образом на основе вероятности сообщает мне, добавлю ли я дополнительную строку к «Основной» фрейм данных. Однако эта дополнительная строка данных, которую я добавлю, будет взята случайным образом из другого фрейма данных «Дополнительные», который имеет ту же форму, что и «Основной».

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

Region  Type   Value
A        1       600
A        1       300
A        2       700
A        2       950
B        1       700
B        1        50
B        2       900
B        2       300
Но: я могу извлечь из «Дополнительных» только строку, которая имеет тот же регион и тип, что и в «Основном» кадре данных, и как только я Взяв эту строку данных, я удаляю ее из фрейма данных «Дополнительно», готового к вычислению следующей строки в «Основном», поскольку я не хочу дважды вытягивать одну и ту же строку из фрейма данных «Дополнительно» (на самом деле эти фреймы данных будут намного больше).
Пытаюсь понять, что, как я полагаю, представляет собой многоэтапный процесс – возможно, в цикле? - это можно сделать довольно просто. В конце концов у меня будет, например, фрейм данных, который будет выглядеть примерно так:

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

Region  Type    Value
A        1       600
A        2       700
B        1       700
B        2       900
A        2       950
...где в моих четырех строках «Основного» фрейма данных в регионе A типу 2 «повезло», и мы выполняем расчет добавления строки из дополнительных данных выше и извлекаем A / 2/950 и добавьте ее в фрейм данных (удалив ее из фрейма данных «Дополнительно»).

Подробнее здесь: https://stackoverflow.com/questions/786 ... robability

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