Pandas DataFrame统计记录字符出现次数结果异常问题
问题原因及解决办法
你遇到的问题是因为str.count()在pandas里默认会把传入的字符串当作正则表达式处理,而正则中的.是通配符,会匹配任意单个字符(除换行符)。所以"4.1.1"这个字符串总共有5个字符,返回的5其实是字符总数,不是点号的数量。
解决办法有两种:
转义点号:把
.写成\.,让正则引擎识别为字面意义的点号:df['Subsections'] = df.Section.str.count("\.")关闭正则模式:给
str.count()加上regex=False参数,强制将搜索内容当作普通文本处理:df['Subsections'] = df.Section.str.count(".", regex=False)
用这两种方法中的任意一种,就能正确统计出每条记录中点号的实际数量了。
内容的提问来源于stack exchange,提问作者324
相关产品推荐
相关产品推荐

