我正在尝试计算结束日期,并且已经成功,但是代码需要很长时间才能运行。如何改进以下代码?另外df['end_date']
是一个新变量吗?我试过:
df['end_date'] = []
,
并附加它,但得到一个长度错误。因此,我写了下面的感谢信,d
i = 0
j = 0
df['end_date'] = df['start_date']
for i in range(len(df['start_date'])):
for j in range(len(df['term'])):
df['end_date'] = (df['start_date'][i].date() + dt.timedelta(df['term'][j]*365/12))
i+=1
j+=1
我的数据集看起来像:
假设“end_date”是一个日期时间,类似这样的东西应该可以工作:
但是,处理月份偏移的正确方法是使用
pd.DateOffset
:如果我正确理解您想要实现的目标,您应该能够做到:
您正在数据帧上循环,应该避免这种情况。尽量直接使用pandas API来使用其底层性能优化
此外,您正在手动递增
i
和j
,但这些也是for
循环中的索引,因此由循环运算符递增。因此,不必手动增加它们相关问题 更多 >
编程相关推荐