我有一张桌子看起来像这样

Class Health (R) Pension (R) Health (E) Pension (E)
10 1.00 2.50 1.25 3.00
11 1.00 2.50 1.25 3.00
12 1.00 2.50 1.25 3.00

带有(E)和(R)的行是使用PANAS枢轴函数动态创建的.这意味着我不会总是知道列的名称,以便在如下所示的典型函数中直接指定它:

df = df['column', 'column', 'column']
df.filter(like = "(R)") 

上面的筛选器函数工作得很棒,但唯一的问题是我还必须从表中引入CLASS列.

我试过使用.

df.filter(regex = r"(Class|(R)") 

这个函数提供了Class,但出于某种原因,它还将拉出其中包含()的任何列.

用(R)提取类和列以创建新数据帧的最佳方式是什么?

提前谢谢您!

推荐答案

你需要转义你的括号,你不需要任何外部:

df.filter(regex=r'Class|\(R\)')

或者不使用正则表达式:

df[df.columns[df.columns.str.contains('(R)')].union(['Class'])]

输出:

  Class Health (R) Pension (R)
0   ...        ...         ...

Python相关问答推荐

Plotly:如何更改Heatmap中彩色条的勾选文本

强制venv在bin而不是收件箱文件夹中创建虚拟环境

即使在可见的情况下也不相互作用

仿制药的类型铸造

Matlab中是否有Python的f-字符串等效物

'discord.ext. commanders.cog没有属性监听器'

类型错误:输入类型不支持ufuncisnan-在执行Mann-Whitney U测试时[SOLVED]

运输问题分支定界法&

将tdqm与cx.Oracle查询集成

计算每个IP的平均值

在含噪声的3D点网格中识别4连通点模式

如何根据一列的值有条件地 Select 前N组?

用砂箱开发Web统计分析

如何在两列上groupBy,并使用pyspark计算每个分组列的平均总价值

Python Pandas—时间序列—时间戳缺失时间精确在00:00

从旋转的DF查询非NaN值

巨 Python :逆向猜谜游戏

提高算法效率的策略?

为什么Python内存中的列表大小与文档不匹配?

查看pandas字符列是否在字符串列中