如何解决Pandas系列子字符串以字母开头和结尾
我有一个大熊猫系列,其中包含大约一百万行这种形式:
pd.Series(['Lorem ipsum dolor sit amet','consectetur adipiscing elit','quis euismod mi,id venenatis urna','curabitur vel augue viverra diam imperdiet laoreet'])
,我想按以特定字母开头和结尾的单词过滤系列。例如,如果起始字母为“ l”,结束字母为“ m”,那么我想包含以“ lorem”作为子字符串,或者更确切地说是“ ^ l。* m $”的行。
所以我需要将我的字符串拆分为子字符串并执行.str.contains('^ l。* m $'),但是我不知道执行此操作的优化方法。
解决方法
您可以使用从L到m \bL\w*m\b
的单词边界匹配,并且可以在匹配的0个或更多单词字符之间使用。
import pandas as pd
s = pd.Series(['Lorem ipsum dolor sit amet','consectetur adipiscing elit','quis euismod mi,id venenatis urna','curabitur vel augue viverra diam imperdiet laoreet'])
s = s.str.contains(pat = r'\bL\w*m\b',regex = True)
print(s)
输出
0 True
1 False
2 False
3 False
dtype: bool
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。