Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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
panda与Python中匹配字符串(REGEX)中的If条件_Python_Python 3.x_Regex_Pandas_Dataframe - Fatal编程技术网

panda与Python中匹配字符串(REGEX)中的If条件

panda与Python中匹配字符串(REGEX)中的If条件,python,python-3.x,regex,pandas,dataframe,Python,Python 3.x,Regex,Pandas,Dataframe,我只想在正则表达式匹配之前添加一个if条件: 首先我定义正则表达式并将值存储在Name中,然后打印Name值。结果为True和False(布尔值) 结果 : True False True 下面的代码是关于我的if条件。我不知道如何将if条件与正则表达式匹配。 似乎在if条件中没有检查Name的值True/False if Name is True: print(Name) else: print('bye') 代码结果: bye 预期结果: John Saher 谢

我只想在正则表达式匹配之前添加一个if条件: 首先我定义正则表达式并将值存储在Name中,然后打印Name值。结果为True和False(布尔值)

结果

:
True
False
True
下面的代码是关于我的if条件。我不知道如何将if条件与正则表达式匹配。 似乎在if条件中没有检查Name的值True/False

if Name is True:
     print(Name)
else:
     print('bye')
代码结果:

bye
预期结果:

John
Saher
谢谢

您可以使用

df.loc[df['Name'].str.match(r'^\w+\s*$)]
注意:您不需要将带有正则表达式的捕获组作为参数传递给
Series.str.match
,它只在
extract
/
extractall
中需要

如果要允许任何数量的前导空格字符,还可以在
^
之后添加
\s*
,并使用
r'^\s*\w+\s*$”

熊猫测试:

将熊猫作为pd导入
df=pd.DataFrame({'Name':['John','-','Saher']})
>>>df.loc[df['Name'].str.match('^(\w+\s*)$)]
名称
0约翰
2萨赫

您没有问任何问题,但根据故事判断,您需要
df.loc[Name,'Name']
。亲爱的DYZ,我更新了我的内容。你是对的,我很感激你花的时间。我是python和panda的新手。我的问题与if条件有关。现在我必须在哪里添加df.loc?只需打印它,您的文本仍然不是问题。我的问题是如果条件不打印值。
John
Saher