I have pandas data frame like this
Name Col1
Foo [A, C, B, D, E]
Bar [G, M, O]
Baz [E, B]
I want to change it to:
Name New_Col1 New_Col2
Foo A C
Foo C B
Foo B D
Foo D E
Bar G M
Bar M O
Baz E B
How can I do that?
>Solution :
Do two explode operations and then concat the results:
s = df.set_index('Name').Col1.str
pd.concat([s[:-1].explode(),
s[1:].explode()],
axis=1)\
.reset_index()
Name Col1 Col1
0 Foo A C
1 Foo C B
2 Foo B D
3 Foo D E
4 Bar G M
5 Bar M O
6 Baz E B