У меня есть два кадра данных Pandas, которые мне нужно объединить. Первый представляет собой полный набор данных, содержащий мои продажные цены на товары с различными интервалами количества. Цены снижаются по мере увеличения количества приобретаемых деталей.
Кадр данных1
PART# MY_QTY MY_PRC
Item1 1 $20
Item1 10 $18
Item1 20 $17
Item2 1 $120
Item2 30 $100
Item2 50 $95
Второй представляет собой набор данных широкой формы, содержащий несколько разрывов количества поставщиков и отпускных цен. Для Item1 ниже, если я покупаю 1 штуку у Vend1, я плачу 10 долларов, 4 штуки по-прежнему стоят 10 долларов, 5 штук — 8 долларов и т. д. Количество разрывов количества зависит от товара и продавца, и не все продавцы продают все товары.
Кадр данных2
PART# VEND# QTY1 PRC1 QTY2 PRC2 QTY3 PRC3
Item1 Vend1 1 $10 5 $8 15 $7
Item1 Vend2 1 $15 11 $12 30 $11
Item1 Vend3 1 $20 10 $18
Item2 Vend1 1 $75 20 $60 30 $55
Item2 Vend2 1 $80 12 $70
Я хочу объединить кадры данных, чтобы я мог сравнивать свою цену продажи при каждом из моих перерывов в количестве с затратами поставщика в тех же количествах. Окончательный фрейм данных будет иметь форму левого слияния на ЧАСТИ № с поворотом ПРОДАЖИ № к столбцам.
Часть, с которой у меня возникают трудности, - это получение правильной цены поставщика на основе MY_QTY. Я должен иметь возможность читать по строке и видеть, сколько все стороны берут за товар в заданном количестве. Ожидаемый результат ниже.
Фрейм данных результата
PART# MY_QTY MY_PRC VEND1 VEND2 VEND3
Item1 1 $20 $10 $15 $20
Item1 10 $18 $8 $15 $18
Item1 20 $17 $7 $12 $18
Item2 1 $120 $75 $80
Item2 30 $100 $55 $70
Item2 50 $95 $55 $70
ИЗМЕНИТЬ
Кажется, люди путаются с Dataframe2. Этот кадр данных читается построчно. Первая строка значений показывает цены на Товар 1, продаваемый Vend1. Для этого ряда от QTY1 (1 шт.) до QTY2 (5 шт.) цена составляет PRC1 (10 долл. США), затем от QTY2 (5 шт.) до QTY3 (15 шт.) цена составляет PRC2 (8 долл. США). Цена остается неизменной до тех пор, пока запрошенное количество не достигнет следующего интервала количества.
Скажем, Mama's Farm Stand продает яблоки по 1 доллару за штуку. Если вы купите 5 яблок, цена за яблоко упадет до 0,75 доллара. Если вы купите 15 яблок, цена снова упадет до 0,50 доллара. Фрейм данных для этого примера будет выглядеть так, как показано ниже.
PART# VEND# QTY1 PRC1 QTY2 PRC2 QTY3 PRC3
Apple Mama 1 $1 5 $.75 15 $.5
MY_QTY
это10
и какVEND1
8
нет цены за КОЛИЧЕСТВО 10 na - person Bharath   schedule 29.09.2017QTY1
во втором фрейме данных вообще взаимодействует с результирующим фреймом данных? - person MattR   schedule 29.09.2017