【发布时间】:2021-02-17 10:03:21
【问题描述】:
我有以下代码
for i in range(index, len(df_2)+1):
if df_2.loc[i, 'Duration'] == 0:
df_2.loc[i, 'Duration'] = df_2.loc[i, "idle_hrs"] + df_2.loc[i - 1, "Duration"]
我怎样才能以简单的方式编写这个来降低时间复杂度?以列表理解的方式编写它是否存在战争?
【问题讨论】:
-
请提供一个最小的验证示例。持续时间 = [0 1 0 0 3 ] 和 idle_hrs = [3 2 3 1 3] 的输出是什么?
-
应该可以通过使用
shift对其进行矢量化。但如果没有可复制示例输入数据和预期输出,我不会尝试回答......
标签: python dataframe loops if-statement