- Pandas数据分析快速上手500招(微课视频版)
- 罗帅 罗斌编著
- 236字
- 2023-07-17 18:41:06
141 在contains()中使用正则表达式筛选文本
此案例主要通过在字符串的contains()函数中设置参数值为正则表达式,实现使用正则表达式作为条件筛选数据。当在Jupyter Notebook中运行此案例代码之后,将在DataFrame中使用正则表达式筛选成交量全部为数字的数据,效果分别如图141-1和图141-2所示。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10307.jpg?sign=1738960985-LNgU82bR8Ns66dWNaOW1FrXOFUxBjEeM-0-fa38df2be82325f84f5adc9e3659c050)
图141-1
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10308.jpg?sign=1738960985-17ot92f8zhq4wD8QLVgriaipe0afUVkF-0-4953be006592c44a96e4f865ec923de6)
图141-2
主要代码如下。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P135_10312.jpg?sign=1738960985-8HEHxiofAhLuGgh8ntdQGx7JzqPpJkST-0-e6b9f9975c963d1bd0ca67b0ed2e7706)
在上面这段代码中,df[df['成交量'].astype(str).str.contains('^[0-9]*$',regex=True)]表示在df中筛选成交量全部为数字的数据,'^[0-9]*$'是一个正则表达式,即全部数字,当此参数被设置为正则表达式之后,则应该设置regex参数值为True,否则正则表达式的内容将作为一个普通的字符串。
此案例的主要源文件是MyCode\H806\H806.ipynb。