Я думаю, что ваше решение в порядке, также возможно использовать Series.str.split
, если оба столбца заполнены строками.
''
не отображаются только.
print (df[['col1','col2']].iloc[0].apply(type))
col1 <class 'str'>
col2 <class 'str'>
Name: 0, dtype: object
df['result'] = df['col1'].str.cat(df['col2'],sep=" ").str.split()
print (df)
col1 col2 result
0 apples bananas oranges [apples, bananas, oranges]
1 mangoes apples [mangoes, apples]
Если первый столбец заполнен списками, а второй - строками:
print (df[['col1','col2']].iloc[0].apply(type))
col1 <class 'list'>
col2 <class 'str'>
Name: 0, dtype: object
df['result'] = df['col1'] + df['col2'].str.split()