过滤熊猫中的时间序列数据帧,以每分钟提供第一个数据点

时间:2019-07-13 13:30:44

标签: python pandas

我有高频FX数据,每分钟有多个数据点。 对于我的分析,我很高兴每分钟有1个数据点。

因此,我需要每分钟选择第一个数据点并保留它;并在同一分钟内丢弃其他数据点。

我在所附图片中有一个样本数据集和预期结果。 fx dataset and expected outcome

创建数据集的代码如下。

fun("[ab]","a")
fun("\\D","^\\D{2}$")

1 个答案:

答案 0 :(得分:0)

通过to_datetimeDataFrame.set_index创建DatetimeIndex,可能通过DataFrame.asfreq创建变化频率:

df['date_time'] = pd.to_datetime(df['date_time'], format='%Y%m%d %H%M%S%f')

df1 = df.set_index('date_time').asfreq('T')
print (df1)
                            bid      ask
date_time                               
2012-02-01 17:00:05.600  1.3066  1.30677
2012-02-01 17:01:05.600  1.3069  1.30707
2012-02-01 17:02:05.600  1.3072  1.30737
2012-02-01 17:03:05.600  1.3075  1.30767
2012-02-01 17:04:05.600  1.3078  1.30797

或将DataFrame.resamplefirst一起使用:

df1 = df.set_index('date_time').resample('T').first()