2017-03-14 27 views
0

我在一組數據中有多個「開始」和「停止」時間序列,並且希望查看一組特定的日期/時間是否存在落在一組給定的「開始/停止」時間之間。我在python中使用了熊貓,我嘗試將數據作爲數據框或時間序列 - 還沒有開始工作。我一直在使用這段代碼:確定一個日期時間是否在python中的另外兩個日期之間

print (start1 < test1[0:LenS] < stop1).any() 

(請注意,「測試1 [0:鏡頭]」只是確保test1的是相同的長度,啓動1和停止1),我得到這個錯誤:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 

因爲我試圖使用.any(),我很困惑。謝謝你的幫助!

回答

0

不幸的是,你不能像這樣組合比較系列。

(start1 < test1[0:LenS]) & (test1[0:LenS]<stop) 

應該一次測試多個條件。

+0

該訣竅。後續問題:我可以通過代碼告訴我「test1」中的值是否落在時間範圍內......我如何確定「test1」中的哪些值使得陳述成立,以及/或者他們的索引號是什麼? – DCips

+0

在這種情況下,我會嘗試使用Dataframe:Dataframe是包含每列一個系列的表。在這個框架中,你可以輕鬆地計算所有4列,以便更容易可視化 – WNG

0

您可能能夠使用pandas.Series.between作爲

test1[0:LenS].between(start1, stop1).any() 
+0

無法讓它工作...太糟糕了,這看起來很簡單/優雅。 – DCips

相關問題