2013-10-23 40 views
2

我正在使用一个熊猫系列,我尝试使用isin()方法来查找系列的一些成员。但是,对于熊猫时间戳对象,此功能似乎不能正常工作。使用isin()与

import pandas 

data = pandas.date_range('jan-01-2013','jan-05-2013') 
s = pandas.Series(data) 

print s.iloc[0] == data[0] # Returns True (correct) 
print s.isin(data[0:2])  # Returns a series of all false values (incorrect) 

显然,对于第二个print语句,预期的结果是,该系列的前两个成员是真,其他一切都是假的。但是,它会返回所有错误值。这是一个错误还是我错误地执行isin()

+1

见的讨论[这里](http://stackoverflow.com/questions/19070194/isin-function-does-not-work-for-dates);这有点让人头疼。 – DSM

+0

@DSM感谢您的链接,它看起来像一个错误,你是对的。所以我的答案只是取出datetime64值和isin正在工作,但它不适用于时间戳:( –

+0

这将固定在0.13(即将推出) – Jeff

回答

2

它的工作是这样的:

s.isin(data[0:2].values) 
+0

注意,因为杰夫说上面这是围绕一个bug。 –

+0

@WesMcKinney我在大熊猫方面根本不是专家,谢谢你提到这个。顺便说一句,你可以看看这个问题 - http://stackoverflow.com/questions/19597575/picking-out-elements-based-on-complement-of -records功能于蟒蛇,熊猫吗? –