![Pandas数据分析快速上手500招(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/35/47216035/b_47216035.jpg)
上QQ阅读APP看书,第一时间看更新
141 在contains()中使用正则表达式筛选文本
此案例主要通过在字符串的contains()函数中设置参数值为正则表达式,实现使用正则表达式作为条件筛选数据。当在Jupyter Notebook中运行此案例代码之后,将在DataFrame中使用正则表达式筛选成交量全部为数字的数据,效果分别如图141-1和图141-2所示。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10307.jpg?sign=1738974666-B3O0XL8RvT8c8e98xXnUhAvHylSpYTVU-0-b7652dcf43c066ed31b346b9755227de)
图141-1
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10308.jpg?sign=1738974666-xHnfiPLye4SvpPg0hOB0e36qyeackgpd-0-20f7bbd683059070bb136d85da8d66b8)
图141-2
主要代码如下。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10312.jpg?sign=1738974666-3ek8PcHtwu9DD22oVPvc8n9nGJZJb0jx-0-5cf7a356cbd6839ecf68bbfdbd5aae56)
在上面这段代码中,df[df['成交量'].astype(str).str.contains('^[0-9]*$',regex=True)]表示在df中筛选成交量全部为数字的数据,'^[0-9]*$'是一个正则表达式,即全部数字,当此参数被设置为正则表达式之后,则应该设置regex参数值为True,否则正则表达式的内容将作为一个普通的字符串。
此案例的主要源文件是MyCode\H806\H806.ipynb。