this code should help
it can split any column of dataframe by any character you want and return splited dataframe.
class Seperator:
row_list=[]
def __init__(self,df,column_name,split_char):
df.apply(lambda row:self.seperate(row,column_name,split_char),axis=1)
def seperate(self,row,column_name,split_char):
items = row[column_name].split(split_char)
row_dic = dict(row)
for item in items:
row_dic[column_name] = item
tmp = {key:row_dic[key] for key in row_dic}
self.row_list.append(tmp)
return row
def dataframe(self):
return pd.DataFrame(self.row_list)
now let's use this class:
df = pd.DataFrame({'col1':['a','b','c\nd\ne','f','g'],'col2':[123,234,345,456,567]})
df
col1 col2
0 a 123
1 b 234
2 c\nd\ne 345
3 f 456
4 g 567
after that :
seperator = Seperator(df,column_name='col1',split_char='\n')
seperator.dataframe()
col1 col2
0 a 123
1 b 234
2 c 345
3 d 345
4 e 345
5 f 456
6 g 567
enjoy.