Python数据帧在微秒内重新采样

问题描述 投票:4回答:2

我正在对数据帧进行重采样,它可以在数小时,数分钟的时间内运行,但不会在不到sec的时间内重新采样。程序即使在很短的时间间隔内也会挂起。那我想念什么吗?

我尝试了0.000001S,U等。。。到目前为止没有任何效果。

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

您可以看到变量sf代表重采样频率。

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

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

python-2.7 pandas dataframe resampling
2个回答
11
投票
sf = "1U" #for one microsecond

使用毫秒/微秒/秒:

L       milliseonds
U       microseconds
S       seconds

Full doc

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

2
投票

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

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')

这给出了预期的输出。

((我认为您的问题是,您尝试将微秒格式的数据重新采样为微秒本身,这没有任何意义。您想要上采样或下采样(如我的示例)。]

© www.soinside.com 2019 - 2024. All rights reserved.