您能否建议我将时间段转换为相应索引的简单方法?
我有一个功能,可以根据无法更改的数字索引(从第10行到第20行)从数据帧中选择条目。同时,我的数据帧具有时间索引,并且我根据时间戳选择了它的一部分。如何将这些时间戳转换为相应的数字索引?
非常感谢 亚历克斯
添加一些示例:
small_df.index[1]
Out[894]: Timestamp('2019-02-08 07:53:33.360000')
small_df.index[10]
Out[895]: Timestamp('2019-02-08 07:54:00.149000') # instead of time stamps.
这些是我想从具有时间索引的第二个数据帧中选择的时间段。但是我想用数字索引做到这一点 那意味着 1.找到与上述时间段相对应的数字索引
根据上面的评论,这可能与我需要的内容非常接近:
start=second_dataframe.index.get_loc(pd.Timestamp(small_df.index[1]))
end=second_dataframe.index.get_loc(pd.Timestamp(small_df.index[10]))
picked_rows= second_dataframe[start:end]
有更好的方法吗?
答案 0 :(得分:1)
我认为如果需要职位,您需要Index.get_loc
:
small_df.index.get_loc(pd.Timestamp('2019-02-08 07:53:33.360000'))
1
编辑:如果值始终匹配,则可以首先获取时间戳表,并通过DataFrame.loc
提取第二行:
start = small_df.index[1]
end = small_df.index[10]
picked_rows = second_dataframe.loc[start:end]
OrL
start=pd.Timestamp(small_df.index[1])
end=pd.Timestamp(small_df.index[10])
picked_rows = second_dataframe.loc[start:end]