下面的代码可以很好地删除 df
列名中包含字符串 basket
的列名,我如何修改下面的代码以传递列表要过滤掉的字符串而不是单个字符串?
banned_columns = ["basket","cricket","ball"]
condition = lambda col: "basket" in col
new_df = df.drop(*filter(condition, df.columns))
上面只是过滤basket
。如何从 df.columns
中过滤掉 basket
、cricket
和 ball
?
最佳答案
您可以使用内置的 any()
function 检查排除包含任何禁用词的所有列:
banned_columns = ["basket","cricket","ball"]
condition = lambda col: any(word in col for word in banned_columns)
new_df = df.drop(*filter(condition, df.columns))
关于python - 如何将可迭代列表传递给 Python 中的 lambda 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51379078/