我正在处理不定期记录的财务数据.有些时间戳是重复的,这使分析变得棘手.这是数据的一个示例 - 请注意有四个2016-08-23 00:00:17.664193时间戳:
In [167]: ts
Out[168]:
last last_sz bid ask
datetime
2016-08-23 00:00:14.161128 2170.75 1 2170.75 2171.00
2016-08-23 00:00:14.901180 2171.00 1 2170.75 2171.00
2016-08-23 00:00:17.196639 2170.75 1 2170.75 2171.00
2016-08-23 00:00:17.664193 2171.00 1 2170.75 2171.00
2016-08-23 00:00:17.664193 2171.00 1 2170.75 2171.00
2016-08-23 00:00:17.664193 2171.00 2 2170.75 2171.00
2016-08-23 00:00:17.664193 2171.00 1 2170.75 2171.00
2016-08-23 00:00:26.206108 2170.75 2 2170.75 2171.00
2016-08-23 00:00:28.322456 2170.75 7 2170.75 2171.00
2016-08-23 00:00:28.322456 2170.75 1 2170.75 2171.00
Run Code Online (Sandbox Code Playgroud)
在此示例中,只有几个重复项,但在某些情况下,有数百个连续的行,所有行都共享相同的时间戳.我的目标是通过为每个副本添加1个额外纳秒来解决这个问题(因此,在连续4个相同时间戳的情况下,我将向第二个添加1ns,向第3个添加2ns,向第四个添加3ns.例如,以上数据将转换为:
In [169]: make_timestamps_unique(ts)
Out[170]: …Run Code Online (Sandbox Code Playgroud)