python笔记:str.contains小坑之 UserWarning To actually get the groups, use str.extract.

2021/7/8 20:12:33

本文主要是介绍python笔记:str.contains小坑之 UserWarning To actually get the groups, use str.extract.,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

df = pd.DataFrame({'name': ['A(上海)AAA', 'BB(上海)BB', 'CCC', 'DDD']})
print(df)

# 结果如下
       name
0  A(上海)AAA
1  BB(上海)BB
2       CCC
3       DDD

问题:

代码返回如下结果:

UserWarning: This pattern has match groups. To actually get the groups, use >str.extract.
return func(self, *args, **kwargs)
name
2 CCC

a = ['A(上海)AAA', 'BB(上海)BB', 'CCC']
b = df[df.name.str.contains('|'.join(a))]
print(b)

分析:

原因1:str.contains()不直接支持对象里边的括号,因为括号是正则表达式之一。

解决办法:

a = ['A\(上海\)AAA', 'BB\(上海\)BB', 'CCC']   # 使用转义符 “\”
# 或者 
a = ['A.上海.AAA', 'BB.上海.BB', 'CCC']

b = df[df.name.str.contains('|'.join(a))]
print(b)

# 结果如下:
       name               # 没有UserWarning了
0  A(上海)AAA
1  BB(上海)BB
2       CCC

 



这篇关于python笔记:str.contains小坑之 UserWarning To actually get the groups, use str.extract.的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程