pandas提取某一列的有规律的字符串
时间: 2024-02-03 14:43:27 浏览: 75
如果要提取某一列的有规律的字符串,可以使用正则表达式和pandas中的str方法结合。
例如,假设有如下的DataFrame:
```
import pandas as pd
df = pd.DataFrame({
'name': ['John Doe', 'Jane Smith', 'Bob Johnson'],
'age': [30, 25, 40],
'email': ['john.doe@example.com', 'jane.smith@example.com', 'bob.johnson@example.com']
})
```
现在想要从email列中提取出所有的邮箱域名,可以使用正则表达式和str.extract方法:
```
df['email_domain'] = df['email'].str.extract(r'@([^.]+)\.')
```
这里的正则表达式@([^.]+)\.表示匹配@符号后面的一段非点号字符,直到遇到一个点号为止,也就是邮箱域名。extract方法会返回所有匹配的结果,因此需要使用[0]来取出第一个匹配结果。
运行上述代码后,DataFrame会变成这样:
```
name age email email_domain
0 John Doe 30 john.doe@example.com example
1 Jane Smith 25 jane.smith@example.com example
2 Bob Johnson 40 bob.johnson@example.com example
```
可以看到,email_domain列中提取出了所有的邮箱域名。
阅读全文