Python 3.x 熊猫数据帧重建的时间优化(随机到固定采样)

Python 3.x 熊猫数据帧重建的时间优化(随机到固定采样),python-3.x,dataframe,Python 3.x,Dataframe,我对python和pandas非常陌生,我有限的经验导致我想出了一个低效的解决方案,使我的代码太慢 我有一些与股票市场价格相对应的数据。 采样是纳秒级的随机采样。 我试图实现的是转换到具有固定采样率的新数据集 我正在按如下方式转换我的数据集: 我将时间增量设置为0.5秒的静态时间步长 我正在放下对应于相同纳秒的记录 我正在从我的开始时间到计算的结束时间 我正在迭代我的原始数据帧,将时间增量中的最后一条已知记录复制(并在需要时复制)到新的数据帧 我相信我的问题可能是我正在将记录一个接一个地添加

我对python和pandas非常陌生,我有限的经验导致我想出了一个低效的解决方案,使我的代码太慢

我有一些与股票市场价格相对应的数据。
采样是纳秒级的随机采样。
我试图实现的是转换到具有固定采样率的新数据集

我正在按如下方式转换我的数据集:

  • 我将时间增量设置为0.5秒的静态时间步长
  • 我正在放下对应于相同纳秒的记录
  • 我正在从我的
    开始时间
    到计算的
    结束时间
  • 我正在迭代我的原始数据帧,将时间增量中的最后一条已知记录复制(并在需要时复制)到新的数据帧
我相信我的问题可能是我正在将记录一个接一个地添加到我的新数据帧中,但是我还没有找到一种利用pandas内置优化代码的方法

当前,在Google Colab上执行时,一天的数据运行时间约为4分钟(将30K个样本变为57600个)。
我还进行了本地测试,没有任何改进


# ====================================================================
#费率重新定义
# ====================================================================
每秒采样数=2
dt=100000000/采样/秒时间增量(纳秒)
工作日的秒数=28800#60秒*60分钟*8小时
总样本数=工作日内的秒数*每秒样本数
采样周期=dt*总采样数
开始日期时间戳=ceil到分钟(df['timestamp'].iloc[0])
结束日期时间戳=开始日期时间戳+采样周期
固定时间戳=np.arange(开始日期时间戳,
结束日期时间戳,
dt,
数据类型=np.uint64
)
# ====================================================================
#删除与相同时间戳对应的记录
# ====================================================================
df1=df.drop_duplicates(子集='TimeStamp',keep=“last”)
# ====================================================================
#构造新的数据帧
# ====================================================================
df2=df1.iloc[0:1]
索引\u界限\u限制=df1。形状[0]-1
索引=0
对于tqdm中的i(范围(1,总样本),desc=“构建固定采样率记录…”):
而index
我需要尽可能减少时间(在保持可读性/可维护性的同时,不需要使用“hacks”)

我将非常感谢任何帮助和指向正确方向的指点

提前谢谢