Pandas 统计DataFrame中字符串出现次数并生成频次汇总结果
实现方案
你可以通过将全表数据堆叠为一维序列后做频次统计实现需求,核心代码如下:
import pandas as pd # 假设你的原始DataFrame变量名为df result = df.stack().value_counts().reset_index() # 重命名列名匹配需求 result.columns = ['Animals', 'Total']
代码说明
df.stack()会把所有列的数值按行堆叠为一维Series,覆盖全表所有单元格内容value_counts()直接统计每个字符串的出现频次,默认按频次从高到低排序- 最后重命名列名即可得到你需要的输出结构
如果习惯用宽表转长表的逻辑,也可以用melt方法实现,效果完全一致:
result = df.melt(value_name='Animals')['Animals'].value_counts().reset_index() result.columns = ['Animals', 'Total']
内容的提问来源于stack exchange,提问作者Gabriel Pouzargue
相关产品推荐
相关产品推荐

