Python中文
首页
教程
问答
标签
搜索
登录
注册
多个循环和函数速度较慢的替代方案
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要计算不同场景的组合(表示为DF1、DF2和D3列),并通过下面3个for循环中的函数传递它们。该函数没有获取数组作为输入,因此我必须遍历行以逐个传递参数</p> <p>然而,这变得非常缓慢,并且需要很长的时间(指数达到3000,乘以i,j,k的6*3*3)。 有什么办法可以简化这一点吗? 感谢您的帮助,因为我没有发现这样的示例需要通过行和循环</p> <pre><code> count=0 for index, row in DF.iterrows(): print(index) for i in range(0,6): for j in range(0,3): for k in range(0,3): OUT.loc[index,count]=FUNCTION(DF1[index,k],DF2[index,i],DF3[index,j],row[col]) count += 1 </code></pre> <p>编辑</p> <p>函数设置为\u tmp,从这里获取(它不获取数据帧的列,因此我必须逐行传递数据):pythermalcomfort<a href="https://github.com/CenterForTheBuiltEnvironment/pythermalcomfort/blob/master/examples/calc_set_tmp.py" rel="nofollow noreferrer">https://github.com/CenterForTheBuiltEnvironment/pythermalcomfort/blob/master/examples/calc_set_tmp.py</a></p> <pre><code>DF1.head(3) Temp T10p T90p 1 303.04935 302.04935 304.04935 236 303.57208 302.57208 304.57208 471 301.36523 300.36523 302.36523 DF2.head(3) Tmrt_1 Tmrt_2 Tmrt_3 Tmrt_4 Tmrt_5 Tmrt_6 1 25.80 23.52 21.91 25.63 23.51 21.97088 236 25.61 23.38 21.81 25.50 23.42 21.92352 471 24.91 22.76 21.23 24.81 22.78 21.31014 DF3.head(3) WindSpeed V10p V90p 1 2.26 1.134 3.4030 236 1.66 0.831 2.4958 471 1.83 0.915 2.7475 </code></pre> <p>谢谢你的帮助</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>也许你需要重新考虑你的方法。有时,开箱思考会导致我们找到一个时间复杂度为<code>O(1)</code>的解决方案。如果你给出你最初的问题,例如,为什么你需要组合,也许,那么我可以帮助你。也许你根本不需要组合</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
8 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
7 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
9 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
9 回答
无法使用Djangocketditor上载图像(错误400)
3 回答
无法使用Djangocron进行函数调用
1 回答
无法使用Djangofiler djang上载文件
1 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
6 回答
无法使用Djangomssq迁移Django数据库
8 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
4 回答
无法使用Djangopython3ldap连接到ldap
7 回答
无法使用Djangoredis连接到redis
9 回答
无法使用Django中的FK创建新表
2 回答