2013-10-23 72 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功能於蟒蛇,熊貓嗎? –