我有一个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 中所有列的% ,而不是每列手动执行?
谢谢!
试试这个,用于将作为参数传递pd.dataframe.apply
的pd.Series.value_counts
函数normalize=True
应用到 apply 函数:
df.apply(pd.Series.value_counts, normalize=True).fillna(0)
输出:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句