Python如何将逗号分隔字符串转为列表并统计元素出现次数
实现方法
场景1:用pandas处理数据表(最常用)
针对数据表批量处理的场景,直接用pandas内置的字符串处理方法即可,不需要写复杂逻辑:
- 第一步:将逗号分隔的字符串列转为列表列
import pandas as pd # 假设你的数据表存为df,目标字符串列的列名为str_col df['list_col'] = df['str_col'].str.split(',')
- 第二步:统计指定值的出现次数(以统计'63'的出现次数为例)
# 方法1:基于上面生成的列表列统计 target_val = '63' df['count'] = df['list_col'].apply(lambda x: x.count(target_val)) # 方法2:不需要保留中间列表列,直接统计,更省内存 df['count'] = df['str_col'].str.split(',').apply(lambda x: x.count('63'))
场景2:纯Python原生处理(无需依赖第三方库)
如果是处理单条字符串,或者不想引入pandas依赖,直接用Python内置的split方法即可:
# 示例字符串 raw_str = '63,63,63,63,63,63,63,63,63,63,63' # 转列表 str_list = raw_str.split(',') # 统计指定值出现次数 count = str_list.count('63')
注意事项
- 如果原始字符串的逗号后带空格,比如格式为
'63, 63, 63',转换时需要先去除每个元素的多余空格,避免匹配失败:# pandas场景 df['list_col'] = df['str_col'].str.split(',').apply(lambda x: [i.strip() for i in x]) # 原生Python场景 str_list = [i.strip() for i in raw_str.split(',')] - 如果需要统计的是数值类型而非字符串,转换时可以顺便做类型转换:
# 转为int类型列表 str_list = [int(i) for i in raw_str.split(',')]
内容的提问来源于stack exchange,提问作者TigerJ
相关产品推荐
相关产品推荐

