dataframe使用正则表达式
时间: 2023-10-14 11:30:07 浏览: 96
在 Pandas 中,可以使用 `str` 属性和正则表达式来操作 DataFrame 的字符串列。
例如,假设有一个 DataFrame,其中包含一个名为 "text" 的字符串列,我们想要选取其中包含 "apple" 或 "orange" 的行,可以使用以下代码:
```python
import pandas as pd
df = pd.DataFrame({'text': ['I like apple', 'I prefer banana', 'I love oranges', 'I hate grapes']})
filtered_df = df[df['text'].str.contains('apple|orange')]
```
这里,我们使用了 `str.contains()` 方法来检查 "text" 列中是否包含 "apple" 或 "orange"。通过使用 `|` 运算符,我们可以同时匹配这两个单词。
还可以使用 `str.extract()` 方法来从字符串列中提取匹配正则表达式的子串:
```python
df['fruit'] = df['text'].str.extract('(apple|orange|banana|grapes)', expand=False)
```
这里,我们使用了一个带有括号的正则表达式,用于匹配 "apple"、"orange"、"banana" 或 "grapes" 中的任意一个。`expand=False` 参数用于返回一个 Series 而不是 DataFrame。在这个例子中,将会生成一个名为 "fruit" 的新列,其中包含匹配到的水果名称。
阅读全文