У меня есть приведенный ниже DataFrame, содержащий списки фруктов:
import pandas as pd
df = pd.DataFrame(([['apple','pear'],['orange','grapes','apple']],
[['pear', 'fig','raspberry'],['pineaple', 'raspberry']],
[['mango'],['melon']]), columns = ['A','B'])
Я пытаюсь найти способ, чтобы я мог создать новый столбец ('C'), содержимое которого является наборомРазница в каждом ряду. В частности, мне нужно только фрукты, оставленные в столбце A после вычитания столбца B.
A B
apple, pear orange, grapes, apple
pear, fig, raspberry pineapple raspberry
mango melon
Я прочитал несколько похожих вопросов без особой удачи. До сих пор я пробовал нижеследующее, которое, как я знаю, не работает, но, надеюсь, объясняет, что я пытаюсь сделать.
df['C'] = [[list(set(row)) in df['A'] - list(set(row)) in df['B']] for row in df]
Предполагаемый результат будет следующим:
C
pear
pear, fig
mango