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
打?。悇e計數)
返回:
{'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)
哪個打?。?/p>
{'男/女':{'M':3,'F':2},'年齡':{'10-20':3,'30-40':1,'20-30':1} }
但我不確定您當前如何存儲數據
添加回答
舉報