在Pandas中删除以某些字符串结尾的多列

abu*_*nte 2 python pandas

我有一个使用后缀'_o'的带有很多列的数据框。有没有办法删除标签末尾带有“ _o”的所有列?

本文中,我看到了一种使用过滤器功能删除以某些内容开头的列的方法。但是,如何丢弃那些以某种结尾的东西呢?

jpp*_*jpp 7

有几种方法。

泛达

df = df.loc[:, ~df.columns.str.endswith('_o')]]

df = df[df.columns[~df.columns.str.endswith('_o')]]]
Run Code Online (Sandbox Code Playgroud)

清单理解

df = df[[x for x in df if not x.endswith('_o')]]

df = df.drop([x for x in df if x.endswith('_o')], 1)
Run Code Online (Sandbox Code Playgroud)