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

如何在Pandas DataFrame中筛选以‘Norm’结尾的含值列?

筛选DataFrame中以'Norm'结尾的完整列

嗨,别担心,新手刚接触pandas的时候很容易卡在这一步😉 你已经成功找出了所有符合条件的列名,现在只需要用这些列名去索引你的DataFrame,就能拿到包含数值的完整列啦!

方法一:基于你现有代码的修改

你已经通过循环得到了Norms列名列表,只需要添加一行代码,用这个列表去选取DataFrame的列:

import os
print(os.getcwd())
os.chdir('E:/task')
import pandas as pd

df1 = pd.read_table('haha.txt')
Norms = []
for s in df1.columns:
    if s.endswith('Norm'):
        Norms.append(s)

# 新增这一行,获取完整的列数据
df_norms = df1[Norms]
# 打印结果看看
print(df_norms)

方法二:更简洁的pandas内置方法

其实pandas提供了更便捷的filter()方法,用正则表达式就能一步筛选出以'Norm'结尾的列,不用写循环:

import os
print(os.getcwd())
os.chdir('E:/task')
import pandas as pd

df1 = pd.read_table('haha.txt')
# 用正则表达式匹配结尾为'Norm'的列
df_norms = df1.filter(regex=r'Norm$')
print(df_norms)

这里的r'Norm$'是正则表达式,$符号表示匹配字符串的结尾,所以只会选中列名以'Norm'结束的列。

运行之后你就能看到包含对应数值的完整列了,比如你的示例数据会输出:

TCGA_AF_2689_Norm  TCGA_AF_2691_Norm
0                  5                  2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:40:21