我有高频FX数据,每分钟有多个数据点。 对于我的分析,我很高兴每分钟有1个数据点。
因此,我需要每分钟选择第一个数据点并保留它;并在同一分钟内丢弃其他数据点。
创建数据集的代码如下。
fun("[ab]","a")
fun("\\D","^\\D{2}$")
答案 0 :(得分:0)
通过to_datetime
和DataFrame.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.resample
与first
一起使用:
df1 = df.set_index('date_time').resample('T').first()