Pandas 从数据框中选择行,其中列不采用列表中的某个值

Pandas 从数据框中选择行,其中列不采用列表中的某个值,pandas,dataframe,Pandas,Dataframe,我有一个值列表,它是特定列可以采用的所有值的子集: list1=['DHL','FDX','UPS','USPS','Others'] 根据用于装运的装运公司的值,我可以选择行(例如): 现在,我需要选择'Others',其中的行对应于除'Others'之前列出的航运公司之外的所有航运公司。我如何做到这一点,而不必写一个长链?请注意,list1内容可以在调用之间更改,客户可以在“其他”之前添加其他值 我想到了以下元代码: df2=df1[df1['ShippingCompany'] is no

我有一个值列表,它是特定列可以采用的所有值的子集:

list1=['DHL','FDX','UPS','USPS','Others']
根据用于装运的装运公司的值,我可以选择行(例如):

现在,我需要选择'Others',其中的行对应于除'Others'之前列出的航运公司之外的所有航运公司。我如何做到这一点,而不必写一个长链?请注意,list1内容可以在调用之间更改,客户可以在“其他”之前添加其他值

我想到了以下元代码:

df2=df1[df1['ShippingCompany'] is not in list1[:-1]]

这在Python中可能吗?

您有
isin
==

df2=df1[df1['ShippingCompany'] == list1[-1]]
两个以上的值

df2=df1[~df1['ShippingCompany'].isin(list1[:-1])]
df2=df1[~df1['ShippingCompany'].isin(list1[:-1])]