Python 如何遍历列并在列中只返回一个变量

Python 如何遍历列并在列中只返回一个变量,python,pandas,numpy,Python,Pandas,Numpy,我一直在尝试将数据帧中的列与列表进行比较,并找出差异。唯一的问题是,当我这样做时,它会给出差异列表,但会为每列添加一个条目 例如: def Type(): list1=['Dog','Cat','Monkey','Horse', 'Giraffe'] list2=Zoo['Animal'].values.tolist() new_list = (set(list1).difference(set(list2))) return new_list

我一直在尝试将数据帧中的列与列表进行比较,并找出差异。唯一的问题是,当我这样做时,它会给出差异列表,但会为每列添加一个条目

例如:

def Type():
    list1=['Dog','Cat','Monkey','Horse', 'Giraffe']
    list2=Zoo['Animal'].values.tolist()     
    new_list = (set(list1).difference(set(list2)))
    return new_list    

Zoo['Animal Type'] = Zoo.apply(lambda row: Type(), axis = 1)
Zoo['Animal Type']
返回

34     {Cat, Monkey, Dog, Horse}
38     {Cat, Monkey, Dog, Horse}
39     {Cat, Monkey, Dog, Horse}
41     {Cat, Monkey, Dog, Horse}
46     {Cat, Monkey, Dog, Horse}
47     {Cat, Monkey, Dog, Horse}
48     {Cat, Monkey, Dog, Horse}
49     {Cat, Monkey, Dog, Horse}
而不是在最后列出差异,如:

0 Cat
1 Monkey
2 Dog
3 Horse

我只希望每个差异在输出中声明一次。任何帮助都会很棒。

Type
函数中,您在哪里使用
?很抱歉,我复制了另一段代码,并对其进行了编辑以用于此示例。我编辑了它并更新了示例。我使用的是数据框“动物园”中的“动物”列,它是通过读取csv制作的。我认为你可以用不同的方式来实现这一点。。。试试看
zoo.loc[~zoo['Animal-Type'].isin(列表1),'Animal-Type']
我用
zoo['Animal-Type']=zoo.loc[~zoo['Animal'].isin(列表1),'Animal']
试过了,它返回了我需要的格式,但它只显示了空白值而不是差异。我做错什么了吗?@ZebraDonkey你能发布上面讨论的动物园的样子吗。