I have a DF similar to the below. What I want to do is to take the SKUs from SKU1 and SKU2 and create a separate DF with all possible SKU values. It seems simple but I’m having some trouble.
DF
SKU1 | SKU2 |
---|---|
66FS | 6dhs |
b87w | ssftv |
yy5hf | |
y346d |
Desired Output
All_SKUs |
---|
66FS |
b87w |
yy5hf |
6dhs |
ssftv |
y346d |
Advertisement
Answer
If order doesn’t matter, stack
:
JavaScript
x
2
1
out = df.stack().droplevel(1).to_frame(name='All_SKUs')
2
output:
JavaScript
1
8
1
All_SKUs
2
0 66FS
3
0 6dhs
4
1 b87w
5
1 ssftv
6
2 yy5hf
7
3 y346d
8
Else, melt
:
JavaScript
1
2
1
out = df.melt(value_name='All_SKUs').dropna().drop(columns='variable')
2
output:
JavaScript
1
8
1
All_SKUs
2
0 66FS
3
1 b87w
4
2 yy5hf
5
4 6dhs
6
5 ssftv
7
7 y346d
8