J'ai deux bases de données Pandas dont j'ai besoin pour fusionner. Le premier est un ensemble de données à long formulaire contenant mes prix de vente pour les articles à diverses ruptures de quantité. Les prix diminuent à mesure que la quantité de pièces achetées augmente.Les Pandas fusionnent, mettent à l'échelle et pivotent des structures de données de forme longue et de forme large
Dataframe1
PART# MY_QTY MY_PRC
Item1 1 $20
Item1 10 $18
Item1 20 $17
Item2 1 $120
Item2 30 $100
Item2 50 $95
Le second est un ensemble de données large forme contenant de multiples ruptures de quantité de vendeur et les prix de vente. Pour Item1 ci-dessous si j'achète 1 pièce de Vend1 je paye 10 $, 4 pcs est encore 10 $, 5pcs est 8 $, etc. Le nombre de pauses varie selon l'article et le vendeur, et tous les vendeurs ne vendent pas tous les articles.
Dataframe2
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
Je veux fusionner les dataframes afin que je puisse comparer mon prix de vente à chacun de mes quantité rompt avec les coûts des fournisseurs aux mêmes quantités. La structure de données finale aura la forme d'une fusion à gauche sur PART # avec les colonnes pivotées de VEND #.
La partie avec laquelle je suis en difficulté est de saisir le prix correct du fournisseur basé sur MY_QTY. Je devrais être capable de lire à travers une rangée et de voir ce que toutes les parties facturent pour un article à la quantité donnée. Sortie attendue ci-dessous.
Résultat dataframe
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
EDIT
Les gens semblent se confondre avec Dataframe2. Cette base de données est lue en ligne. La première ligne de valeurs indique les prix pour Item1 vendus par Vend1. Pour cette rangée de QTY1 (1 pièce) jusqu'à QTY2 (5 pièces) le prix est PRC1 (10 $), puis de QTY2 (5 pièces) jusqu'à QTY3 (15 pièces) le prix est PRC2 (8 $). Le prix reste le même jusqu'à ce que la quantité demandée atteigne la prochaine rupture de quantité.
Say Mama's Farm Stand vend des pommes pour 1 $ chacune. Si vous achetez 5 pommes, le prix par pomme tombe à 0,75 $. Si vous achetez 15 pommes, le prix baisse de nouveau à 50 $. Le dataframe pour cet exemple ressemblerait à ci-dessous.
PART# VEND# QTY1 PRC1 QTY2 PRC2 QTY3 PRC3
Apple Mama 1 $1 5 $.75 15 $.5
Dans la deuxième ligne '' MY_QTY' est 10' et comment est '' 8 VEND1' 'il n'y a pas de prix pour QTY 10 na – Dark
Possible de partager votre code actuel et quelles sont les erreurs que vous rencontrez? – ShreyasG
est-ce que le 'QTY1' dans la deuxième image interagit avec la trame de données de résultat? – MattR