I have a dataframe with the following structure:
[ { "key1":"value1", "key2":"2", "key3":["a","b2","keep this exemple from work_text_reviews_count of 450"], }, { "key1":"value1", "key2":"2", "key3":[], } ]
How can i Remove string from predefined string with pandas without changing the structure.
the predefined string = “from work_text_reviews_count of”
the text that i want to remove “from work_text_reviews_count of 450”
The expected output:
[ { "key1":"value1", "key2":"2", "key3":["a","b2","keep this exemple"], }, { "key1":"value1", "key2":"2", "key3":[], } ]
Advertisement
Answer
You don’t have much choice here but to loop.
updated question:
pat = " from work_text_reviews_count of" df['key3'] = [[x.split(pat)[0] for x in l] for l in df['key3']]
output:
key1 key2 key3 0 value1 2 [a, b2, keep this exemple] 1 value1 2 []
older example
To update the data in place:
for l in df['details']: for d in l: if "average_rating" in d: d["average_rating"] = d["average_rating"].split()[0]
output:
name details 0 Book1 [{'id': 30278752, 'isbn': ' 1594634025', 'average_rating': '3.92'}] 1 Book2 [{'id': 34006942, 'isbn': ' 1501173219', 'average_rating': '4.33'}]