微秒上的Python数据帧重采样

时间:2015-08-31 14:32:55

标签: python-2.7 pandas dataframe resampling

我正在使用重新采样数据框,它可以在几小时,几分钟内工作,但不会重新采样少于秒。程序即使在很短的时间内也会挂起。我错过了什么吗?

我试过0.000001S,U等......到目前为止没有任何工作。

我的时间格式:2015-08-29 19:30:47.015506

你可以看到varable sf代表重采样频率。

grph = df.set_index('Date and Time').resample(sf, len).astype(int)

如何以微秒粒度重新采样数据帧?

2 个答案:

答案 0 :(得分:10)

sf = "1U" #for one microsecond

使用毫秒/微秒/秒:

L       milliseonds
U       microseconds
S       seconds

完整文档:

B       business day frequency
C       custom business day frequency (experimental)
D       calendar day frequency
W       weekly frequency
M       month end frequency
BM      business month end frequency
CBM     custom business month end frequency
MS      month start frequency
BMS     business month start frequency
CBMS    custom business month start frequency
Q       quarter end frequency
BQ      business quarter endfrequency
QS      quarter start frequency
BQS     business quarter start frequency
A       year end frequency
BA      business year end frequency
AS      year start frequency
BAS     business year start frequency
BH      business hour frequency
H       hourly frequency
T       minutely frequency
S       secondly frequency
L       milliseonds
U       microseconds
N       nanoseconds

答案 1 :(得分:1)

如果我正确理解您的问题,您无法将微秒重新采样到另一个小于一秒的频率,对吗?我做了一个玩具示例,但似乎没有问题:

import pandas as pd
import numpy as np

np.random.seed(0)
index=pd.date_range('22/10/2010', periods=100000, freq='U')
example=pd.Series(index=index,data=np.random.randn(100000))
example.resample('ms',how='sum')

这给出了预期的输出。

(我认为你的问题是你试图将微秒格式的数据重新采样到微秒本身,这没有任何意义。你想要上采样或下采样(如我的例子中所示)。)< / p>