我有一个来自组织切片数据集的数据帧,其中包含以下列

  • 图像
  • 名字
  • Tumor_stroma_epi_NSCLC_v2:上皮%
  • Tumor_stroma_epi_NSCLC_v2:上皮区
  • Tumor_stroma_epi_NSCLC_v2:坏死率
  • Tumor_stroma_epi_NSCLC_v2:坏死区微米^2
  • Tumor_stroma_epi_NSCLC_v2:间质百分比
  • Tumor_stroma_epi_NSCLC_v2:间质面积微米^2
  • Tumor_stroma_epi_NSCLC_v2:Tumor%
  • Tumor_stroma_epi_NSCLC_v2:肿瘤面积微米^2
  • 面积Δm^2

根据不同的组织类型,列的nsclc_v2分量在多个不同的数据集上是可变的.我想创建一个regex来删除%Columns,它可以识别具有相同格式但不同组织类型的所有列.到目前为止,这就是我能想到的全部.

tumor_temp.drop(columns=['图像','名字',
                         '^tumor_stroma_epi_[a-z0-9_]: Epithelium %$',
                         '^tumor_stroma_epi_[a-z0-9_]: Necrosis %$',
                         '^tumor_stroma_epi_[a-z0-9_]: Stroma %$',
                         '^tumor_stroma_epi_[a-z0-9_]: Tumor %$',
                         'Area µ?m^2'], inplace=True)

抱歉,如果这有点基本的话,我大部分都有R背景.

推荐答案

你可以使用Pandas 的filter()功能:

import re

pattern = re.compile("^tumor_stroma_epi_[a-z0-9_]+:.*%$")  # regular expression to match columns with %
cols_to_drop = df.filter(regex=pattern).columns
df.drop(columns=cols_to_drop, inplace=True)

Python相关问答推荐

如何根据另一列值用字典中的值替换列值

比较两个数据帧并并排附加结果(获取性能警告)

删除最后一个pip安装的包

Python中的嵌套Ruby哈希

如何找到满足各组口罩条件的第一行?

如何过滤包含2个指定子字符串的收件箱列名?

如何使用表达式将字符串解压缩到Polars DataFrame中的多个列中?

SQLAlchemy Like ALL ORM analog

cv2.matchTemplate函数匹配失败

迭代嵌套字典的值

不允许访问非IPM文件夹

多处理队列在与Forking http.server一起使用时随机跳过项目

Pandas GroupBy可以分成两个盒子吗?

将一个双框爆炸到另一个双框的范围内

jsonschema日期格式

浏览超过10k页获取数据,解析:欧洲搜索服务:从欧盟站点收集机会的微小刮刀&

从列表中分离数据的最佳方式

使用xlsxWriter在EXCEL中为数据帧的各行上色

是否需要依赖反转来确保呼叫方和被呼叫方之间的分离?

普洛特利express 发布的人口普查数据失败