panda与Python中匹配字符串(REGEX)中的If条件
我只想在正则表达式匹配之前添加一个if条件: 首先我定义正则表达式并将值存储在Name中,然后打印Name值。结果为True和False(布尔值) 结果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 谢
:
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