Я пытаюсь найти способ определения всех возможных комбинаций строк в рамках DataFrame, которые ниже бюджета, поэтому предположим, что у меня есть такой кадр данных:
data = [['Bread', 9, 'Food'], ['Shoes', 20, 'Clothes'], ['Shirt', 15, 'Clothes'], ['Milk', 5, 'Drink'], ['Cereal', 8, 'Food'], ['Chips', 10, 'Food'], ['Beer', 15, 'Drink'], ['Popcorn', 3, 'Food'], ['Ice Cream', 6, 'Food'], ['Soda', 4, 'Drink']]
df = pd.DataFrame(data, columns = ['Item', 'Price', 'Type'])
df
Данные
Item Price Type
Bread 9 Food
Shoes 20 Clothes
Shirt 15 Clothes
Milk 5 Drink
Cereal 8 Food
Chips 10 Food
Beer 15 Drink
Popcorn 3 Food
Ice Cream 6 Food
Soda 4 Drink
Я хочу найти каждую комбинацию, которую я мог бы купить за определенный бюджет, скажем, 35 долларов за этот пример, при этом получая только одну из каждого типа.Я хотел бы получить новый кадр данных, состоящий из строк для каждой комбинации, который работает с каждым элементом в своем собственном столбце.
Я пытался сделать это с помощью itertools.product, но это может объединять и добавлять столбцы, но мне действительно нужно объединить и добавить определенный столбец на основе значений в другом столбце.Я сейчас немного в замешательстве.
Спасибо за помощь!