代码之家  ›  专栏  ›  技术社区  ›  Tyler Moore

使用带有数据帧的正则表达式来匹配精确的数据帧,而不仅仅是包含

  •  0
  • Tyler Moore  · 技术社区  · 2 年前

    我的代码如下:

       for x in validUnitNames:
        unitDf = df.filter(regex=x)
        print(unitDf)
    

    对于x的第一个值('BMP AHU-1'),它会调高:

    BMP AHU-1\MAT  BMP AHU-1\RAT  BMP AHU-10\MAT  BMP AHU-10\RAT  \
    0        66.341175      65.131525       70.789092       68.373683   
    

    除了我只想要BMP AHU-1\列,而不是BMP AHU-10\列之外,这是有效的。

    我应该如何修复我的正则表达式,以便只包含精确匹配,而不只是包含?BMP AHU-10稍后出现在validUnitNames中,届时将被抓取。

    1 回复  |  直到 2 年前
        1
  •  1
  •   Code Different    2 年前

    将正则表达式以反斜杠结尾:

    unitDf = df.filter(regex=x + r"\\")