使用 groupby 方法以毫秒为单位获取数据帧的完整日期时间索引

Getting complete datetime index of data frame in miliseconds using groupby method

我有一个数据框 (df),其索引为“%Y-%m-%d %H:%M:%S.%f”格式的日期时间索引,即 2012-06-16 15:53:42.457000

我正在尝试使用 groupby 方法创建 1 秒的组,即

x= df.groupby(pd.TimeGrouper('1S'))
time=x.first().index[1]
print time

问题是使用 groupby 方法我只得到以秒为单位的时间戳,即“2012-06-16 15:53:42”,毫秒被排除在外。有没有办法获得完整的时间戳? 谢谢

我认为这是格式问题。

> df.index[0].strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
'2016-01-01 00:00:00.000'

Documentation here

花了几个小时,我解决了它。 groupby、rolling 等函数 出现了同样的问题。这些函数使用通用日期时间索引进行分组,该索引在数学上是定义频率的倍数。如果该索引用于获取数据帧的数据,则有可能获得 keyerror

要获取完整的日期时间索引(以毫秒为单位),请访问通过 groupby 方法创建的各个组成员的白天索引。即

time=  x2.first()['timeindex'][0]

其中 timeindex 是我的数据框中的 datetime index。 [0] 是组中第一个成员的日期时间索引,可以递增得到每个组中第二个、第三个等成员的日期时间索引。