【问题标题】:How can I retrieve only those columns which contain 3 consective numbers?如何仅检索包含 3 个连续数字的列?
【发布时间】:2021-09-17 21:45:59
【问题描述】:

我的数据框中有列,例如:

['col1_103_diff','col2_105_diff','col_106_diff'...] 

如何使用列表推导来仅检索上述列?

merged.filter(like='121_diff')

这可行,但我不确定我可以使用什么正则表达式来定义 3 个数字后跟一个单词

【问题讨论】:

    标签: python python-3.x regex pandas dataframe


    【解决方案1】:

    您可以将.filter 与正则表达式一起使用,如下所示:

    merged.filter(regex=r'\d{3}\w+')
    

    正则表达式 \d{3}\w+ 正好定义了 3 个数字后跟一个单词:

    \d{3} 恰好出现 3 次 \d(数字)

    \w+A-Za-z_(下划线)中至少包含一个字符的单词。

    【讨论】:

      猜你喜欢
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多