Python中文
首页
教程
问答
标签
搜索
登录
注册
计算托管价值的最有效方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我远不是熊猫专家。我是个普通的开发人员。你知道吗</p> <p>我想计算一个管理价值。 我有一个df,是每天的市场价格(以日期为指数),dfTrend是0和1,指数相同。你知道吗</p> <p>我想把这两个数据帧都发送到一个函数,得到一个管理值,也就是说当趋势为零时,我希望管理值保持不变,当趋势为1时,我希望值增加并跟随市场价格。你知道吗</p> <p>例如:<a href="https://i.stack.imgur.com/nsnHt.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nsnHt.png" alt="enter image description here"/></a></p> <p>我的代码运行良好,但速度非常慢:</p> <pre><code>def getManagedValue(df, dfTrend): dfReturn = df.pct_change(1) dfManaged = df for col in df: for i in range(1, len(df[col])): dfManaged[col][0] = df[col][0] if dfTrend[col][i] == 1: dfManaged[col][i] = dfManaged[col][i-1] * (1 + dfReturn[col][i]) else: dfManaged[col][i] = dfManaged[col][i-1] return dfManaged </code></pre> <p>有人知道我如何优化它,让它跑得更快吗?所有列的所有单元格的迭代肯定是这里的问题。你知道吗</p> <p>我在考虑和cython合作,但我相信我不允许和cython一起使用熊猫,只有numpy的阵列。。。你知道吗</p> <p>有人有什么建议吗?你知道吗</p> <p>干杯, 朱利安</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>谢谢你的回答。我终于自己找到了解决办法。你知道吗</p> <p>数据帧为[2696行x305列], 用pandas数据帧(使用问题中的代码)处理它大约需要5分钟。你知道吗</p> <p>我用了numpy数组,时间降到了2.30分钟。你知道吗</p> <p>最后,我把所有的东西都用cythonized,降到了2.5秒,这绝对足够了。你知道吗</p> <p>干杯, 朱利安</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
9 回答
如何添加表示整数的擦边字符串?
10 回答
如何添加要在Bokeh中使用的新font.ttf文件?
5 回答
如何添加要显示的矩阵XY轴编号和XY轴
3 回答
如何添加计数?
6 回答
如何添加计数器函数?
8 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
1 回答
如何添加计数器来跟踪while循环中的月份和年份?
5 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
7 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
10 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
2 回答
如何添加评论拉梅尔亚姆
7 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
6 回答
如何添加谷歌地点自动完成到Flask?
2 回答
如何添加超时、python discord bot
10 回答
如何添加超过1dp的检查
6 回答
如何添加距离方法
5 回答
如何添加跟随游戏的敌人精灵
6 回答
如何添加路径以便python可以找到程序?
8 回答
如何添加身份验证/安全性以使用happybase访问HBase?
1 回答