python - df中所有列的值计数?
问题描述
我有一个df,例如:
Monday | Tuesday | Friday | January | Weekday
True False True False True
False False False False False
True True False False True
False False False False False
我想计算每列具有 True 和 False 的百分比,通常我会使用带有以下规范化参数的值计数:
df['Monday'].value_counts(normalize = True)
输出:
Monday
True .5
False .5
但是我怎样才能运行相同的代码,它会给我df中所有列的%,而不是每列手动执行呢?
谢谢!
解决方案
将值 value_counts 应用于 dataframe 。Groupby 结果数据框的索引和总和
g=df.apply(lambda x: x.astype(str).value_counts(normalize=True))
g.groupby(g.index).sum()
Monday Tuesday Friday January Weekday
False 0.5 0.75 0.75 1.0 0.5
True 0.5 0.25 0.25 0.0 0.5
推荐阅读
- c - GCC 中的嵌套函数现在安全吗?GNU C 中的类定义
- r - 如何将列表元素名称分配给 sheetName
- python - t-SNE算法中如何选择维数
- java - 用于查找表的 Spring data Jpa 与 Spring Jdbc
- javascript - 如何检查 DOM 元素是否正确嵌套
- c++ - C++ 类设计问题。将类与其他类和数量相关联
- django - Django 从名称列表中查询值
- xcode - SwiftUI 预览:如果自定义按钮样式在其他文件中,则预览失败
- jinja2 - 如果 Jinja 中的值为空,则隐藏属性定义?
- r - Cox PH 模型的生存曲线。检查我对绘制它们的理解