2016-04-26 83 views
1

我有以下命令的分割兩隻大熊貓值

df.ab.value_counts() 

Out[154]: 

0 31196 
1 18804 
dtype: int64 

我想找到1分數出來總計數的下列數據集。所以基本上五萬分之一萬八千八百零四

我做到以下幾點:

(df.ab.value_counts()[1])/(df.ab.count()) 

Out[146]: 

0 

正如你看到它給了我零,而應該是0.3768(50000分之18804)

任何想法,爲什麼?

編輯II:

任何想法如何繪製這兩個值0和1,其計數的條形圖?

+0

你在python 2 ..如果是的話,當用'/'(Python 2中的整數除法)嘗試時,你會得到0。試着從__future__進口部門那裏做你的代碼分部。你將永遠得到一個浮動部門。 – Satya

回答

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 
+0

我甚至做了df.ab.value_counts()[1])/(df.ab.count()* 1.0)它不起作用 – Baktaawar

+0

我嘗試編輯答案,請檢查它。 – jezrael

+0

沒有你的計數與浮動。但是,如果我使用1.0而不是浮動,它不起作用 – Baktaawar

0

你可以這樣做更容易

df.ab.value_counts(normalize=True) 
0
from __future__ import division 
(df.ab.value_counts()[1])/(df.ab.count()) ###should give float value 0.3768 

沒有測試過,但希望它會幫助你。