繁体   English   中英

python 正则表达式查找小写字母后跟大写字母

[英]python regex find lowercase followed by capital letter

我觉得我必须为此提前道歉,但我已经搜索了答案,他们似乎告诉我我所做的是正确的。

如果另一列有一个小写字母紧跟一个大写字母的实例,我正在尝试将 DataFrame 列设置为 True。

我试过的是:

    cities['multiteam'] = cities['team'].apply(lambda x: pd.notna(re.search(r'[A][a]',x)))

这将所有结果设置为 False,所以我想我的 lambda function 可能做错了,我做了以下内容来调试 re.search() 部分:

cities['multiteam'] = pd.notna(re.search(r'[a][A]','OneTwo'))

这也将所有结果设置为 False。 我被困在那里了。

以下代码仅适用于查找后跟小写字母“a”的字母“A”。

cities['multiteam'] = cities['team'].apply(lambda t: pd.notna(re.search(r'[A][a]',t)))

如果您想检查所有字母,您可能需要更改它。 也许用这样的东西替换那行:

cities['multiteam'] = cities['team'].apply(lambda t: pd.notna(re.search(r'[A-Z][a-z]',t)))

你永远不应该为提问而道歉。 使用apply非常慢,请尝试使用可以接受正则表达式模式的str.contains

cities.assign(multiteam=cities.team.str.contains('[a-z][A-Z]'))

上面的assign是pandas新推荐的列赋值方式。

str.contains适用于正则表达式和固定字符串,比apply快得多。

上面的正则表达式模式表示一系列az后跟AZ

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM