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

如何统计DataFrame中字母数字列内各字符的出现次数

统计DataFrame字母数字列中各字符的出现次数

问题场景

现有包含字母数字列的DataFrame,需统计列内0-9、A-Z每个字符的总出现次数,示例如下:

输入DataFrame

Serial
03000395
A000458B
667BC345

期望输出

Character     Counts
0             7
1             0
2             0
3             3
...
A             1
B             2
C             1
...
Z             0

解决方案

可以通过以下Python代码实现需求,基于pandas和collections模块:

import pandas as pd
from collections import Counter

# 初始化示例DataFrame
df = pd.DataFrame({
    'Serial': ['03000395', 'A000458B', '667BC345']
})

# 将列中所有字符串拼接为单个长字符串
all_characters = ''.join(df['Serial'].astype(str))

# 统计每个字符的出现次数
char_counter = Counter(all_characters)

# 生成需要统计的完整字符列表:0-9 + A-Z
target_chars = [str(num) for num in range(10)] + [chr(ord('A') + idx) for idx in range(26)]

# 构建结果DataFrame,缺失字符的计数填充为0
result_df = pd.DataFrame({
    'Character': target_chars,
    'Counts': [char_counter.get(char, 0) for char in target_chars]
})

# 打印结果
print(result_df)

代码说明

  1. 拼接字符串:用join把Serial列的所有内容合并成一个长字符串,方便统一统计。
  2. 字符计数:Counter会自动统计每个字符的出现次数,返回一个字典结构。
  3. 生成完整字符集:手动构造0-9和A-Z的所有字符,确保结果包含所有目标字符,哪怕出现次数为0。
  4. 构建结果:通过列表推导式遍历完整字符集,用get方法获取计数(不存在则返回0),最终整理成DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:25:23