Use Series.str.split
if dont need capitalize strings:
df['fruits split'] = df['Fruits'].str.split('>')
print (df)
Fruits fruits split
0 Home>Fruits>mango [Home, Fruits, mango]
1 NaN NaN
2 Home>Fruits>apple [Home, Fruits, apple]
Solutions with title/capitalize
each value of lists:
df['fruits split'] = df['Fruits'].str.split('>')
.apply(lambda x: np.nan if isinstance(x, float)
else [y.title() for y in x])
df['fruits split'] = [np.nan if isinstance(x, float)
else [y.title() for y in x.split('>')]
for x in df['Fruits']]
df['fruits split'] = [np.nan if isinstance(x, float) else [y.title() for y in x]
for x in df['Fruits'].str.split('>')]
print (df)
Fruits fruits split
0 Home>Fruits>mango [Home, Fruits, Mango]
1 NaN NaN
2 Home>Fruits>apple [Home, Fruits, Apple]