【发布时间】:2022-01-22 08:42:03
【问题描述】:
我有一个如下所示的数据框
df = pd.DataFrame(
{'sub_code' : ['CSE01', 'CSE01', 'CSE01',
'CSE02', 'CSE03', 'CSE04',
'CSE05', 'CSE06'],
'stud_level' : [101, 101, 101, 101,
101, 101, 101, 101],
'grade' : ['STA','STA','PSA','STA','STA','SSA','PSA','QSA']})
我想做下面的事情
a) 获取数据帧所有分类列中每个唯一值的频率
我尝试了以下方法,但它既不高效也不优雅
df['sub_code'].value_counts() # need to key in column name manually
df['grade'].value_counts() # need to key in column name manually
df.select_dtypes(include='object').value_counts() #produces incorrect output
由于我的真实数据有 200 多列和 100k 行,有没有什么有效的方法可以做到这一点?
我希望我的输出如下所示。如果有任何其他更好的方法来显示以下输出,我也欢迎。我不知道如何以简洁的方式捕获这些信息。所以,请分享您的建议
【问题讨论】:
标签: python pandas dataframe numpy categorical-data