You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单个正则表达式提取Pandas DataFrame混合条目列的字符并计数

Pandas中用单个正则匹配指定模式并计数

正确正则表达式写法

你之前用的[EA+,AA,EA-]是字符类语法,会把里面的每个字符(包括逗号、+、-)当成单个匹配项,完全不符合匹配AA/EE/EA+/EA-这类多字符模式的需求。正确的写法是用选择符|来分隔多个目标模式:

pattern = r'(AA|EE|EA\+|EA-)'

注:+是正则元字符,需要用\转义才能匹配字面意义的加号。

筛选匹配条目并计数

  1. 筛选符合条件的行
    用Pandas的str.contains()过滤出Nachfolger列包含目标模式的条目:
# na=False 避免空值导致的报错
filtered_rows = df[df['Nachfolger'].str.contains(pattern, na=False)]
  1. 总匹配数
    直接获取筛选后DataFrame的行数即可:
total_count = len(filtered_rows)
# 或者用shape[0]
total_count = filtered_rows.shape[0]
  1. 按模式分别计数
    如果需要统计每个模式各自出现的次数,用str.extract()提取匹配内容后再统计:
pattern_counts = df['Nachfolger'].str.extract(pattern, expand=False).value_counts()

内容的提问来源于stack exchange,提问作者MJK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:18:15