2

这对我来说似乎很奇怪,但也许有某种解释。我有一个带有 id 的数据框。

>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= []

我只是在某个地方是个白痴吗?我很肯定这正是我正在做的,

4

1 回答 1

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')

如果你得到str:

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

如果你没有任何空白噪音应该可以工作

于 2013-07-02T15:31:48.283 回答