2013-07-02 69 views
2

这对我来说似乎很陌生,但也许有某种解释。我有一个带有ID的数据框。没有找到熊猫value_counts?

>df 

Id Value  Date 
1  2   2012/03/04 
2  12  2012/03/05 
1  3   2012/03/06 
1  9   2012/03/07 
5  66  2012/02/08 

当我这样做:

df.Id.value_counts() 

我得到:

1 3 
2 1 
5 1 

但是当我做:

df[df["Id"]==1] 

我得到:

Empty Dataframe 
Columns: [Id, Value, Date] 
Index= [] 

我只是在某个地方成为白痴吗?我敢肯定,这是我在做什么,

+1

可能是你'Id'列实际上是由字符串,而不是整数的应该工作。 'map(type,df.Id)'返回什么? – DSM

+0

你又明白了。帝斯曼,你摇滚! –

+0

但是没有。我将该列转换为浮点数,但仍未找到出现40次的值。 –

回答

0
df = DataFrame({'Id':[1,2,1,1,6], "Value":[2,12,3,9,99], 
    "Date":['2012/03/04','2012/03/05','2012/03/06','2012/03/07','2012/03/08',]}) 

df[df["Id"]==1] 
Out[24]: 
    Date  Id Value 
0 2012/03/04 1  2 
2 2012/03/06 1  3 
3 2012/03/07 1  9 

DSM是有意义的是,你必须在ID字符串右唯一的问题。

df.Id.dtype 
Out[27]: dtype('int64') 

如果你海峡:与测试

df[df["Id"]=="1"] 

,如果你没有任何空白噪音