2017-09-15 163 views

回答

2

要获取使用的列名称df.columnsdrop()支持在一次调用中删除多个列。下面的代码使用这两个,并做你需要的:

condition = lambda col: 'foo' in col 
new_df = df.drop(*filter(condition, df.columns)) 
+0

这绝对解决了我的问题,但我不明白的语法。 * filter我解释为包含'* foo'的任何列,但事实并非如此。 foo似乎被视为子字符串,即* foo *。你能指出详细说明这种方法的文档吗?感谢真棒的帮助。 – DespicableMe

+0

'filter'是内置的python方法,比过滤任何可迭代的集合。你可以在这里找到文档:https://docs.python.org/3/library/functions.html#filter – Mariusz