嗨指標數字,我真正的新大熊貓。我試圖弄清楚這裏的數據類型是怎麼回事,但到目前爲止我無法走得很遠。返回「可迭代」在Python中熊貓
我打算做的是很簡單的。我在data1
中搜索DataFrame data2
的索引,並且距離目標時間最近的時間。
由於data1
和data2
非常相似,只是有一些小的時間差,由於略有不同的採樣率,附上只有在這裏的data1
樣本:
我做了這樣的事情在由時間戳data2
比較搜索最接近的匹配數據的data1
到時間戳:
idxcollect = []
for loopidx, tstamploop in enumerate(tstamp_data1[820990:821000]):
idxtemp = data2[ data2['timestamp'] == tstamp_data2.asof(tstamploop) ].index
delta1 = np.abs(data2.timestamp[idxtemp] - data1.timestamp[loopidx])
delta2 = np.abs(data2.timestamp[idxtemp + 1] - data1.timestamp[loopidx])
if delta1.iloc[0] < delta2.iloc[0]:
idxreturn = idxtemp
idxcollect.append(idxreturn)
else:
idxreturn = idxtemp + 1
idxcollect.append(idxreturn)
tstamp_data1
/tstamp_data2
是,從曆元時間在data1
和data2
計算。
我得到的輸出是:
[Int64Index([809498], dtype='int64'), Int64Index([809499], dtype='int64'), Int64Index([809500], dtype='int64'), Int64Index([809501], dtype='int64'), Int64Index([809502], dtype='int64'), Int64Index([809503], dtype='int64'), Int64Index([809509], dtype='int64'), Int64Index([809513], dtype='int64'), Int64Index([809521], dtype='int64'), Int64Index([809533], dtype='int64')]
我想這樣做是切片相應的data2
從通過上述操作中發現的指數排,簡單的東西如:
data2.ix[ idxcollect[:11] ]
但是,使用Int64Index格式,我無法做任何事情,只要我想做的事情都很簡單。有什麼出路嗎?感謝您的時間和關注和幫助!
包括一些示例數據。你只需要~10行來展示你想要完成的事情。 – 2014-12-04 18:45:38
感謝您的建議。添加! – 2014-12-05 03:55:44