pandas使用正则表达式
时间: 2023-10-29 19:02:14 浏览: 103
Mastering Python Regular Expressions.pdf
Pandas使用正则表达式的主要方式是使用`str`属性和`str`方法。
`str`属性可以访问每个字符串元素,并提供了一些方法来处理字符串。例如,`str.contains()`方法可以用来查找是否有匹配某个正则表达式的子字符串。
示例代码:
``` python
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar', 'baz', 'qux'],
'B': ['one', 'two', 'three', 'four'],
'C': [1, 2, 3, 4],
'D': [True, False, True, False]})
# 找出df['A']列中包含'oo'的行
df[df['A'].str.contains('oo')]
# 找出df['B']列中以't'开头的行
df[df['B'].str.startswith('t')]
# 找出df['A']列中以'b'结尾的行,并将它们的值都改成'quux'
df.loc[df['A'].str.endswith('b'), 'A'] = 'quux'
```
`str`方法可以在每个字符串元素上执行正则表达式操作。例如,`str.replace()`方法可以用来替换匹配某个正则表达式的子字符串。
示例代码:
``` python
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar', 'baz', 'qux'],
'B': ['one', 'two', 'three', 'four'],
'C': [1, 2, 3, 4],
'D': [True, False, True, False]})
# 将df['A']列中的'oo'替换成'xx'
df['A'] = df['A'].str.replace('oo', 'xx')
# 将df['B']列中的数字替换成'-'
df['B'] = df['B'].str.replace('\d', '-')
```
除了以上示例外,还有其他很多`str`属性和方法可以使用正则表达式来处理字符串。可以参考Pandas官方文档中的[Working with Text Data](https://pandas.pydata.org/docs/user_guide/text.html)部分来了解更多内容。
阅读全文