import pandas as pd
data = pd.DataFrame({ 'Country':['China','American','Japan'],
'City': ['shanghai|Shenzhen|beijing','New York|shanghai|Shenzhen|beijing | Texas','Tokyo|Osaka'],
'GDP': ['88,89,43','123,45,46,99,123','123,63,24']
})
data
def col_to_row(data,col,delim):
'''
'''
col_split = data[col].str.split('%s'%(delim)) # '%s'%(',')
max_length = max(col_split.apply(lambda x: len(x)))
split_name = ['%s%s'%(col,i) for i in range(1,max_length+1)]
col_split_df = data[col].str.split('%s'%(delim),expand=True)
col_split_df.columns = split_name
data_split = data.join(col_split_df)
return data_split
col_to_row(data,'GDP',',')
col_to_row(data,'City','|')
data
col_to_row(data,‘GDP’,‘,’)
col_to_row(data,‘City’,‘|’)