我有n个列(分别命名为col'n')和'name'列的df,我想找到带有col'n'且在'searchkey'数组中没有关键字的任何行。
似乎列表理解不能应用于df列名称列表。
df[[c for c in df.columns if c[3:] = 'Col'].str.isin(searchkey))
此外,我尝试使用apply函数,但仍然遇到问题。
df = pd.DataFrame({'name':['AA','BB','CC','DD','EE','FF'],
'col1':['mn','mxn','ca','sd','xa','ac'],
'col2':['m','naa','x','ddn','q','y'],
'col3':['mn','mddn','csfd','sad','xxa','aad'],
... ...
'coln':['sfn','mxc','cxa','sxxd','xada','axxc'],
})
searchkey = ['xx', 'aa', 'dd']
def func(x):
return [x.columns] in searchkey ## Error
df.apply(func, axis=1)
非常感谢您的帮助!
答案 0 :(得分:3)
尝试一下
df = df[df.isin(search_key).any(1)]