2 回答
TA贡献1824条经验 获得超8个赞
使用selected_dtypes()选择带有 的列type=category,并使用sum()方法计算频率:
df.select_dtypes(include='category').sum()
输出:
col_cat1 9
col_cat2 21
TA贡献1776条经验 获得超12个赞
不完全确定我明白你的意思,但如果你只是想保持频率的连续计数,字典是一个很好的方法。
例如,如果我们使用虚拟数据 ['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] = 1
print(category_counts)
哪个打印:
{'男/女':{'M':3,'F':2},'年龄':{'10-20':3,'30-40':1,'20-30':1} }
但我不确定您当前如何存储数据
添加回答
举报
