如何创建嵌套字典匹配DataFrame列类别与对应出现频率?
实现分类数据列的类别频次嵌套字典
解决方案(基于Pandas)
假设你已经通过Pandas将数据集加载为DataFrame df,可以用字典推导式直接生成目标嵌套字典:
import pandas as pd # 加载数据集(示例:从CSV读取,可根据实际数据源调整) # df = pd.read_csv("your_dataset.csv") # 生成嵌套字典:外层键为列名,内层为「类别:出现次数」的键值对 category_freq_dict = {column: df[column].value_counts().to_dict() for column in df.columns}
关键说明
df[column].value_counts():自动统计该列每个分类的出现次数,默认忽略缺失值;若需要统计缺失值,可添加参数dropna=False.to_dict():将统计结果转换为「类别:次数」的键值对字典- 字典推导式遍历DataFrame所有列,最终组合成外层键为列名的嵌套结构
示例输出
假设你的数据集包含Gender、Smoker、Region三列,输出结果会类似:
{ 'Gender': {'Male': 150, 'Female': 120}, 'Smoker': {'No': 200, 'Yes': 70}, 'Region': {'North': 80, 'South': 75, 'East': 60, 'West': 55} }
内容的提问来源于stack exchange,提问作者excpro
相关产品推荐
相关产品推荐

