I have the following dataframe:
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..
Task: I need to get the contents in one cell:
df = df.groupby('recipe_variation_part_id', as_index=False).agg(lambda x: x.tolist())
This returns the following:
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 ...
If you look at the first recipe entry, you get the following:
['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. ']
This is what I want, but I need to remove the square brackets
dtype = list
I've tried:
df.applymap(lambda x: x[0] if isinstance(x, list) else x)
Only returns the first entry, not every step
I've tried:
df['content'].str.replace(']', '')
Only returns NANs
I've tried:
df['content'].str.replace(r'(\[\[(?:[^\]|]*\|)?([^\]|]*)\]\])', '')
Only returns NANs
I've tried:
df['content'].str.get(0)
Only returns the first entry
Any help would be greatly appreciated.
If you need any further information, please let me know.