猿问

使用 Python 计算所有分类变量的值

我有一个包含大量列的数据集,如何计算 Python 中所有分类变量的值的频率?我不想要一两个特定列的频率,而是我需要所有变量的频率type="category"



郎朗坤
浏览 234回答 2
2回答

有只小跳蛙

使用selected_dtypes()选择带有 的列type=category,并使用sum()方法计算频率:df.select_dtypes(include='category').sum()输出:col_cat1     9col_cat2    21

叮当猫咪

不完全确定我明白你的意思,但如果你只是想保持频率的连续计数,字典是一个很好的方法。例如,如果我们使用虚拟数据 ['A', 'A', 'B', 'A', 'C', 'C']category_counts = {}for category in categories:    try:        category_counts[category] += 1    except:        category_counts[category] = 1打印(类别计数)返回:{'A':3,'B':1,'C':2}编辑:因此,如果您想要计算每列的类别,则代码仅会稍微更改为:table = [['Male/Female','M','M','F','M',"F"],['Age','10-20','30-40','10-20','20-30','10-20']]category_counts = {}for column in table:    category_counts[column[0]] = {}    for data in column[1:]:        try:            category_counts[column[0]][data] += 1        except:            category_counts[column[0]][data] = 1print(category_counts)哪个打印:{'男/女':{'M':3,'F':2},'年龄':{'10-20':3,'30-40':1,'20-30':1} }但我不确定您当前如何存储数据
随时随地看视频慕课网APP

相关分类

Python
我要回答