首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python模拟在线决策

用Python模拟在线决策
EN

Stack Overflow用户
提问于 2018-01-03 15:31:48
回答 1查看 33关注 0票数 0

编辑:

我正在尝试模拟在线决策过程。在每次迭代中,我希望从已知的数据帧中读取新的行,并根据它做出决定。另外,我想保存我使用的数据帧的最后n行。不幸的是,即使是遍历各行也非常慢。

我怎样才能做得更好呢?

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import time

t0 = time.time()
s1 = np.random.randn(2000000)
s2 = np.random.randn(2000000)
time_series = pd.DataFrame({'s1': s1, 's2': s2})
n = time_series.shape[0]

for t in range(1, n - 1):

    curr_data = time_series.iloc[t]


print time.time() - t0

旧版本:

我有一个循环,在每次迭代中,我需要删除数据帧的第一行,并将另一行追加到末尾。使用最快的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-01-03 15:42:18

如果确实需要,可以使用:

代码语言:javascript
运行
复制
for i in range(3):
    #remove first row
    df = df.iloc[1:]
    #e.g. append second row
    row = df.iloc[1]
    #append new row  
    df.loc[len(df.index)] = row

但如果选择this post,这是最糟糕的解决方案:

6)更新空帧(例如,使用loc at-at-time的)

所以我猜这里应该有更好/更快的解决方案。第一步是尽可能避免循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48073021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档