带有采样数据的熊猫(工程)

时间:2015-03-07 09:21:01

标签: python pandas time-series data-acquisition

我是熊猫新手。 我发现它对时间序列数据很有用,但仅在采样间隔是标准单位时(例如,分钟,小时,天)。 如果我以更快的速度采样数据但数据采集等异常速率怎么办? 例如。 512 Hz(采样间隔~1.95 ms)

我可以在没有Pandas的情况下过关,但只是想知道它是否适合这种类型的时间序列,其中采样间隔不是标准时间单位的整数。

编辑: 我为不精确而道歉。 我设法让Pandas通过以下代码了解类似工程的时间序列(我们更习惯于以Hz为单位指定采样频率,而不是长周期,如天,周,月等)......

import pandas as pd

fs = 256. #Hz
period = str(int(round(1000000./fs)))+'U'    #microseconds
rng = pd.date_range('1/1/2011', periods=len(dat), freq=period)
serialData = pd.Series(data,index = rng)

假设记录在2011年1月1日零时开始,则可以正常采样。

但是,从文档中可以看出这一点并不明显。

尝试以512Hz(频率的两倍)重新采样数据时,我也遇到了问题。我收到此错误消息:

  

C:\用户\安德鲁\阿纳康达\ lib中\站点包\大熊猫\核心\ format.py:1872:   运行时警告:在更大的情况下遇到无效值   has_large_values =(abs_vals> 1e8).any()   C:\用户\安德鲁\蟒蛇\ LIB \站点包\大熊猫\核心\ format.py:1873年:   RuntimeWarning:在较少的has_small_values =中遇到无效值   ((abs_vals< 10 **(-self.digits))&   C:\用户\安德鲁\蟒蛇\ LIB \站点包\大熊猫\核心\ format.py:1874年:   运行时警告:在更大的情况下遇到无效值(abs_vals>   0))。任何()

     

如果我改变了样本期间来自' 3906U'到' 2S'并重新采样   ' 1S' (加倍采样频率)我没有得到这个错误。

我的数据长达800万个样本。如果我尝试绘制Pandas TimeSeries对象,我会收到内存错误。

如果我只是将数据视为1D numpy数组,我不会遇到这些问题。所以我认为我会坚持使用numpy来处理我通常使用的工程时间序列。

PS。我的编辑只是尝试帮助任何尝试使用长数据和基于Hz / KHz / MHz等进行采样的人。

0 个答案:

没有答案