Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式模式从数据帧筛选行_Regex_Python 3.x_Pandas - Fatal编程技术网

Regex 使用正则表达式模式从数据帧筛选行

Regex 使用正则表达式模式从数据帧筛选行,regex,python-3.x,pandas,Regex,Python 3.x,Pandas,假设我有一个熊猫数据帧,如下所示: Word Ratings 0 TLYSFFPK 1 1 SVLENFVGR 2 2 SVFNHAIRK 3 3 KAGEVFIHK 4 如何在pandas中使用regex来过滤出单词与以下regex模式匹配但保持数据帧格式的行?正则表达式模式是:\b.[VIFY][MLFYIA]\w+[LIYVF].[KR]\b 预期产出: Word Ratings

假设我有一个熊猫数据帧,如下所示:

         Word      Ratings
   0     TLYSFFPK  1
   1     SVLENFVGR 2
   2     SVFNHAIRK 3
   3     KAGEVFIHK 4
如何在pandas中使用regex来过滤出单词与以下regex模式匹配但保持数据帧格式的行?正则表达式模式是:\b.[VIFY][MLFYIA]\w+[LIYVF].[KR]\b

预期产出:

         Word    Ratings
   1     SVLENFVGR 2
   2     SVFNHAIRK 3
演示:


你总是为我节省时间:)
In [2]: df
Out[2]:
        Word  Ratings
0   TLYSFFPK        1
1  SVLENFVGR        2
2  SVFNHAIRH        3
3  KAGEVFIHK        4

In [3]: pat = r'\b.[VIFY][MLFYIA]\w+[LIYVF].[KR]\b'

In [4]: df.Word.str.contains(pat)
Out[4]:
0    False
1     True
2    False
3    False
Name: Word, dtype: bool

In [5]: df[df.Word.str.contains(pat)]
Out[5]:
        Word  Ratings
1  SVLENFVGR        2