我使用python現在工作了相當長的一段時間,大熊貓選擇特定的時間分析一組每小時的數據,並發現它相當不錯(從MATLAB來了。)大熊貓,蟒蛇 - 如何在時間序列
現在我那種卡住了。我建立了我的DataFrame
這樣的:
SamplingRateMinutes=60
index = DateRange(initialTime,finalTime, offset=datetools.Minute(SamplingRateMinutes))
ts=DataFrame(data, index=index)
我想現在要做的就是在10小時至13和20-23選擇數據的所有天使用數據進行進一步的計算。 到目前爲止,我使用
selectedData=ts[begin:end]
切片數據而且我一定要得到某種骯髒的循環來選擇所需要的數據。但是,必須有一個更優雅的方式來索引我想要的東西。我相信這是一個普遍的問題,在僞代碼解決方案應該看起來有點像:
myIndex=ts.index[10<=ts.index.hour<=13 or 20<=ts.index.hour<=23]
selectedData=ts[myIndex]
更何況我是一個工程師,沒有程序設計師:) ...但
Works!非常感謝! –
下面是如何在0.10的語法中實現此解決方案,並將其與Wes的答案相結合: 'dr = pd.date_range(dt(2009,1,1),dt(2010,12,31),freq = 'H'); dt = pd.DataFrame(rand(len(dr),2),dr); hour = dt.index.hour; selector =((10 <=小時)&(小時<= 13))| ((20 <=小時)&(小時<= 23)) data = dt [selector]' –