我有来自以下命令的以下数据集
df.ab.value_counts()
Out[154]:
0 31196
1 18804
dtype: int64
我想找到总计数中的1分数。所以基本上是18804/50000
我执行以下操作:
(df.ab.value_counts()[1])/(df.ab.count())
Out[146]:
0
如你所见它给我零,而它应该是0.3768(18804/50000)
知道为什么吗?
编辑II:
知道如何绘制这两个值0和1的条形图及其计数吗?
答案 0 :(得分:2)
我认为您需要向float
添加投射:
print (df.ab.value_counts()[1])/float(df.ab.count())
0.37608
print 18804/50000
0
print 18804/float(50000)
0.37608
print float(18804)/50000
0.37608
答案 1 :(得分:0)
你可以更容易地做到
df.ab.value_counts(normalize=True)
答案 2 :(得分:0)
from __future__ import division
(df.ab.value_counts()[1])/(df.ab.count()) ###should give float value 0.3768
没有测试过,但希望它会对你有所帮助。