嗨指标数字,我真正的新大熊猫。我试图弄清楚这里的数据类型是怎么回事,但到目前为止我无法走得很远。返回“可迭代”在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