我有一个包含列名列表的数据帧(df(和列表(l(。df:
Col_A | Col_B | Col_D | Col_G|
---|---|---|---|
AA | 12 | Q | 否 |
BB | 23 | W | 是[/tr>|
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))