【发布时间】:2022-01-25 02:25:07
【问题描述】:
l=[]
for index,value in df['Term'].iteritems():
for i,v in df['Date'].iteritems():
if index == i:
if pd.isnull(value):
l.append(None)
else:
value=int(value):
l.append(v + relativedelta(months=+value)
这需要很多时间。谁能帮我优化这个功能。
【问题讨论】:
-
@JonSG 这是一个嵌套的 for 循环,无法压缩
-
@Bharel Ahh,我错过了,那么
itertools.product()可能会有所帮助 -
@JonSG 可能不会对运行时产生实质性影响
-
对于初学者,永远不要使用
iteritems。使用itertuples。但是,这段代码到底应该做什么?if index == i:表示您正在尝试按索引来计算所有内容,如果是这样,您为什么要进行嵌套循环?请始终包含minimal reproducible example,其中包含示例输入和所需输出以及您实际尝试完成的描述
标签: python optimization