python - 删除所有包含一些字符串但除了一些具有相同字符串的列
问题描述
我有几个包含字符串“luds”的列我想删除所有这些列,除了包含相同字符串的 2 列
例如,如果我的 DataFrame 中有以下列:
luds_mean
luds_std
luds_var
luds_corr
luds_out
made_mean
made_std
made_var
我想保留 luds_mean 和 luds_std 列并删除所有包含字符串 luds 的列并留下以下列:
luds_mean
luds_std
made_mean
made_std
made_var
解决方案
您可以使用isin()
+loc
访问器:
df=df.loc[:,~df.columns.isin(['luds_var','luds_corr','luds_out'])]
或者
如果有更多名为 luds_... 的列,则使用:
s=df.columns.isin(['luds_mean','luds_std']) | ~df.columns.str.contains('luds_')
df=df.loc[:,s]
推荐阅读
- sql - 自动导出
- flask - Flask 无法解析 Tabulator AJAX 请求中的 JSON(使用高级配置)
- docker - Docker 端口转发不再起作用
- git - 如何将 python 应用程序从 git 部署到 azure 应用程序?
- javascript - 为什么从 JSFiddle 复制的代码会抛出错误“$ 不是函数”(“美元不是函数”)?
- azure-active-directory - 用于在 Azure AD 中配置应用程序 SSO 的 terraform 脚本
- azure-devops - 应用服务中的Java Web应用的Azure DevOps发布管道后,URL仍然显示默认页面
- sockets - 使用 ncat 同时作为发送者和接收者
- javascript - `history.push`的反应路由器竞争条件
- python - Python Regex 仅从 AutoIt 源代码捕获单词而不是数字,而不是十六进制和完整文件名