You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas按数据集中标题的C1-C4标识对样本分组?

提取样本名中的C类标识并分组实现方案

根据你的样本名格式(点分隔,最后一段为C1/C2/C3/C4这类分组标识),以下是几种常用工具的实现方法:

Python(Pandas)方案

适合处理结构化数据集,步骤清晰易扩展:

import pandas as pd

# 示例数据(替换为你的实际数据读取逻辑,比如pd.read_csv())
data = pd.DataFrame({
    'sample_id': [
        'TCGA.02.0047.GBM.C4',
        'TCGA.02.0055.GBM.C4',
        'TCGA.ZS.A9CG.LIHC.C3',
        'TCGA.ZU.A8S4.CHOL.C1',
        'TCGA.ZX.AA5X.CESC.C2'
    ],
    'expression_value': [12.3, 45.6, 78.9, 10.1, 23.4]
})

# 1. 清洗样本名:去除前后空格和末尾的标点(逗号、点)
# 2. 按点分割字符串,取最后一段作为分组标识
data['group'] = data['sample_id'].str.strip().str.rstrip(',.').str.split('.').str[-1]

# 按分组标识分组
grouped = data.groupby('group')

# 示例:输出每个分组的统计信息或数据内容
for group_label, group_data in grouped:
    print(f"=== 分组 {group_label} ===")
    print(group_data[['sample_id', 'expression_value']])

R语言方案

适合生信领域用户,兼容多数生物信息学分析流程:

# 构造示例数据(替换为你的数据读取逻辑,比如read.table())
sample_data <- data.frame(
    sample_id = c(
        "TCGA.02.0047.GBM.C4",
        "TCGA.02.0055.GBM.C4",
        "TCGA.ZS.A9CG.LIHC.C3",
        "TCGA.ZU.A8S4.CHOL.C1",
        "TCGA.ZX.AA5X.CESC.C2"
    ),
    expression_value = c(12.3, 45.6, 78.9, 10.1, 23.4)
)

# 提取分组标识:先去除末尾标点,再按点分割取最后一段
sample_data$group <- sapply(
    strsplit(gsub("[,.]$", "", sample_data$sample_id), "\\."),
    function(x) tail(x, 1)
)

# 按分组拆分数据
grouped_list <- split(sample_data, sample_data$group)

# 示例:查看每个分组内容
lapply(grouped_list, print)

命令行(AWK)方案

适合快速处理纯文本格式的样本列表:

假设你的样本名保存在sample_list.txt文件中(每行一个样本),执行以下命令会将每个分组的样本写入对应文件(如C1.txt、C2.txt):

awk '{
    # 去除行尾的逗号或点
    gsub(/[,.]$/, "", $0)
    # 按点分割字符串,取最后一段作为分组名
    split($0, parts, ".")
    group = parts[length(parts)]
    # 将当前样本写入对应分组文件
    print $0 > group ".txt"
}' sample_list.txt

核心思路说明

所有方案的核心逻辑一致:

  • 先清洗样本名:去除前后空白字符和末尾的标点(逗号、点),避免干扰分割逻辑
  • 再提取分组标识:利用样本名的点分隔结构,取分割后的最后一段(即C1/C2/C3/C4)
  • 最后按标识分组:根据提取的分组键对样本数据进行分组操作

内容的提问来源于stack exchange,提问作者feaserwood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:45:34