I have a pandas dataframe as shown here:
id    pos      value                sent
1     a/b/c    test/test2/test3     21
2     d/a      test/test5           21
I would like to split (=explode)df['pos'] and df['token'] so that the dataframe looks like this:
id      pos          value         sent
1       a            test          21
1       b            test2         21 
1       c            test3         21 
2       d            test          21
2       a            test5         21
It doesn't work if I split each column and then concat them à la
pos = df.token.str.split('/', expand=True).stack().str.strip().reset_index(level=1, drop=True)
df1 = pd.concat([pos,value], axis=1, keys=['pos','value'])
Any ideas? I'd really appreciate it.
EDIT:
I tried using this solution here : https://stackoverflow.com/a/40449726/4219498
But I get the following error:
TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
I suppose this is a numpy related issue although I'm not sure how this happens. I'm using Python 2.7.14
 
    