У меня есть следующий фрейм данных:
Index Recipe_ID order content
0 1285 1 Heat oil in a large frypan with lid over mediu...
1 1285 2 Meanwhile, add cauliflower to a pot of boiling...
2 1285 3 Remove lid from chicken and let simmer uncover...
3 1289 1 To make the dressing, whisk oil, vinegar and m...
4 1289 2 Cook potatoes in a large saucepan of boiling w..
Задача: мне нужно получить содержимое в одну ячейку:
df = df.groupby('recipe_variation_part_id', as_index=False).agg(lambda x: x.tolist())
Возвращает следующее:
Index Recipe_ID order content
0 1285 [1, 2, 3] [Heat oil in a large frypan with lid over medi...
1 1289 [1, 2, 3] [To make the dressing, whisk oil, vinegar and ...
2 1297 [1, 2, 4, 3] [Place egg in saucepan of cold water and bring...
3 1301 [1, 2] [Preheat a non-stick frying pan and pan fry th...
4 1309 [2, 3, 4, 1] [Meanwhile, cook noodles according to package ...
Если вы посмотрите на первую запись рецепта, вы получите следующее:
['Heat oil in a large frypan with lid over medium-high heat. Cook onions, garlic and rosemary for a couple of minutes until soft. Add chicken and brown on both sides for a few minutes, then add in tomatoes and olives. Season with salt and pepper and allow to simmer with lid on for 20-25 minutes. ',
'Meanwhile, add cauliflower to a pot of boiling water and cook for 10 minutes or until soft. Drain and then mash and gently fold in olive oil, parmesan, salt and pepper. ',
'Remove lid from chicken and let simmer uncovered for five minutes more. Sprinkle with parsley then serve with cauliflower mash. ']
Это то, что я хочу, но мне нужно снять квадратные скобки
dtype = list
Я пробовал:
df.applymap(lambda x: x[0] if isinstance(x, list) else x)
возвращает только первую запись, а не каждый шаг
Я пробовал:
df['content'].str.replace(']', '')
Возвращает только NAN
Я пробовал:
df['content'].str.replace(r'(\[\[(?:[^\]|]*\|)?([^\]|]*)\]\])', '')
Возвращает только NAN
Я пробовал:
df['content'].str.get(0)
возвращает только первую запись
Любая помощь будет принята с благодарностью.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.