I have a data frame as shown below
ID Name Address 1 Kohli Country: India; State: Delhi; Sector: SE25 2 Sachin Country: India; State: Mumbai; Secto
You are almost there
cols = ['ZONE', 'State', 'Sector'] df[cols] = pd.DataFrame(df['ADDRESS'].str.split('; ',2).tolist(), columns = cols) for col in cols: df[col] = df[col].str.split(': ').apply(lambda x:x[1])