python Spalten des Datenrahmens in mehrere Zeilen aufteilen
Ich habe einen Datenrahmen wie diesen:
--------------------------------------------------------------------
Product ProductType SKU Size
--------------------------------------------------------------------
T-shirt Top [111,222,333,444] ['XS','S','M','L']
Pant(Flared) Bottoms [555,666] ['M','L']
Sweater Top None None
Ich möchte die folgende Ausgabe:
Product ProductType SKU Size
T-shirt Top 111 XS
T-shirt Top 222 S
T-shirt Top 333 M
T-shirt Top 444 L
Pant(Flared) Bottoms 555 M
Pant(Flared) Bottoms 666 L
Sweater Top None None
Ich habe den folgenden Code ausprobiert:
s = df['SKU'].apply(Series,1).stack()
s.index = s.index.droplevel(-1)
s.name = 'SKU'
del df['SKU']
df = df.join(s)
r = df['Size'].apply(Series,1).stack()
r.index = r.index.droplevel(-1)
r.name = 'Size'
del df['Size']
df = df.join(r)
Aber dies explodiert wie folgt:
Product ProductType SKU Size
T-shirt Top 111 XS
T-shirt Top 111 S
T-shirt Top 111 M
T-shirt Top 111 L
T-shirt Top 222 XS
T-shirt Top 222 S
T-shirt Top 222 M
T-shirt Top 222 L
T-shirt Top 333 XS
T-shirt Top 333 S
T-shirt Top 333 M
T-shirt Top 333 L
T-shirt Top 444 XS
T-shirt Top 444 S
T-shirt Top 444 M
T-shirt Top 444 L
Pant(Flared) Bottoms 555 M
Pant(Flared) Bottoms 555 L
Pant(Flared) Bottoms 666 M
Pant(Flared) Bottoms 666 L
Bitte beachten Sie, dass ich der Einfachheit halber zwei Spalten hinzugefügt habe, die wiederholt werden (Product, ProductType), aber ich habe 5 solche Spalten, die Zeichenfolgen enthalten. Grundsätzlich möchte ich die SKU mit der Größe für jedes Produkt verknüpfen.
ann hier jemand helfe