如何检查数据帧panda中是否不存在列列表



我有一个包含列名列表的数据帧(df(和列表(l(。df:

Col_G是[/tr>是
Col_A Col_B Col_D
AA 12 Q
BB 23 W
WW 44

使用numpy.setdiff1d:

L = np.setdiff1d(l, df.columns).tolist()

Index.difference:

L = pd.Index(l).difference(df.columns).tolist()

或用not in:列出理解

L = [x for x in l if x not in df.columns]

print (L)
['Col_C', 'Col_E', 'Col_F']

您可以对此使用列表理解:

[i for i in l if i not in df.columns]

这将遍历l(i(中的每个元素,如果它不在df的列中,它将把它添加到一个新列表中。输出:

['Col_C', 'Col_E', 'Col_F']

您必须在列表l上循环。

类似:

for item in l:
if item not in df.columns:
print(item) 

您可以使用设置差异:

list(set(l).difference(df.columns))

list(set(l) - set(df.columns))

最新更新