一、每日一题
解答:
import pandas as pd
def count_occurrences(files: pd.DataFrame) -> pd.DataFrame:
bull_cnt = len(files[files['content'].str.contains(r'\sbull\s')])
bear_cnt = len(files[files['content'].str.contains(r'\sbear\s')])
res_df = pd.DataFrame(
{
'word': ['bull', 'bear'],
'count': [bull_cnt, bear_cnt]
}
)
return res_df
题源:Leetcode
二、 总结
files['content'].str.contains(r'\sbull\s')
:
- 使用
str.contains()
方法来查找content
列中包含匹配正则表达式r'\sbull\s'
的行。 - 正则表达式
r'\sbull\s'
寻找以空白字符(空格)开头和结尾的 “bull” 字符串:\s
表示空白字符(比如空格、制表符等)。- 因此,
r'\sbull\s'
匹配的是整个单词 “bull”,而不会匹配诸如 “bulldog” 或 “bullish” 这样的部分匹配。
2024.5.26