Python 熊猫中是否有正则表达式,我们可以定义第一个和最后一个字符,以及介于两者之间的任何字符

Python 熊猫中是否有正则表达式,我们可以定义第一个和最后一个字符,以及介于两者之间的任何字符,python,regex,pandas,dataframe,Python,Regex,Pandas,Dataframe,如果我在df中有这样的列名: Q24r639606c1: Good Quality Q24r64500c1: Bad Q25r64500c1: Amazing Q24r64500c2: Worst Q24r5200c1: Nice A A B B

如果我在df中有这样的列名:

    Q24r639606c1: Good Quality      Q24r64500c1: Bad       Q25r64500c1: Amazing          Q24r64500c2: Worst         Q24r5200c1: Nice   
               A                            A                     B                              B                 

               D                            F                     C                              G                 K
我想筛选以“Q24和”开头,冒号前有“c1”的列:

我正在尝试,但这里我只能传递一个字符串

Selected_Columns = df.filter(regex = 'Q24r')

使用带有Q24(
^Q24
)的starts进行筛选。然后允许任何
(.*)
,直到准确定位
'c1:'

import pandas as pd
df = pd.DataFrame(columns=['Q24r639606c1: Good Quality', 'Q24r64500c1: Bad',
                           'Q25r64500c1: Amazing', 'Q24r64500c2: Worst', 'Q24r5200c1: Nice'])

df.filter(regex='^Q24.*c1:').columns
['Q24r639606c1: Good Quality', 'Q24r64500c1: Bad', 'Q24r5200c1: Nice'],

使用带有Q24(
^Q24
)的starts进行筛选。然后允许任何
(.*)
,直到准确定位
'c1:'

import pandas as pd
df = pd.DataFrame(columns=['Q24r639606c1: Good Quality', 'Q24r64500c1: Bad',
                           'Q25r64500c1: Amazing', 'Q24r64500c2: Worst', 'Q24r5200c1: Nice'])

df.filter(regex='^Q24.*c1:').columns
['Q24r639606c1: Good Quality', 'Q24r64500c1: Bad', 'Q24r5200c1: Nice'],

谢谢。这正是我想要的:)谢谢。这正是我想要的:)