如何统计含多列多行的数据集内每个字符的出现次数?
统计表格中所有单个字符的出现次数
下面提供几种实用的实现方法,适配不同工具场景:
Excel实现步骤
- 合并所有数据为单字符串:在空白单元格输入公式
=TEXTJOIN("",TRUE,A2:B1000)(替换A2:B1000为你的实际数据范围),生成包含所有单元格内容的长字符串。 - 拆分字符:在新列的第一个单元格输入
=MID($D$2,ROW(A1),1)($D$2是上一步生成的字符串所在单元格),下拉填充直到出现空值,得到所有单个字符的列表。 - 统计次数:在相邻列输入
=COUNTIF($C:$C,C2)($C:$C是字符列表所在列),下拉填充得到对应次数。 - 去重整理:复制字符和次数列并粘贴为值,使用「数据」选项卡的「删除重复值」功能,保留唯一字符及对应次数即可。
Python(pandas)实现代码
适合处理大规模数据:
import pandas as pd from collections import Counter # 读取表格(支持csv、xlsx等,需提前安装对应依赖) df = pd.read_csv("your_data.csv") # 若为Excel则用pd.read_excel() # 合并所有单元格内容为单个字符串 full_text = ''.join(df.astype(str).values.flatten()) # 统计字符出现次数 char_counts = Counter(full_text) # 转换为表格格式输出 result_df = pd.DataFrame(char_counts.items(), columns=['character', 'nºoftimes']) print(result_df)
R语言实现代码
library(tidyverse) # 读取数据文件 df <- read_csv("your_data.csv") # Excel文件用read_excel() # 合并数据、拆分字符并统计次数 result <- df %>% mutate_all(as.character) %>% unite(all_content, everything(), sep = "") %>% pull(all_content) %>% str_split(pattern = "") %>% unlist() %>% table() %>% as.data.frame() %>% rename(character = ., nºoftimes = Freq) print(result)
内容的提问来源于stack exchange,提问作者RoyBatty
相关产品推荐
相关产品推荐

