【发布时间】:2020-08-02 02:17:42
【问题描述】:
我已经查看了一堆类似的问题,但我无法弄清楚如何将这些原则实际应用于我自己的案例。因此,我试图找出一个我可以使用的简单示例 - 基本上我需要白痴指南才能查看更复杂的示例
考虑一个包含名称和时间列表以及已知开始时间的数据框。然后我想用完成时间更新数据框,完成时间是从 starttime + Time 计算出来的
import pandas as pd
import datetime
df = pd.DataFrame({"Name": ["Kate","Sarah","Isabell","Connie","Elsa","Anne","Lin"],
"Time":[3, 6,1, 7, 23,3,4]})
starttime = datetime.datetime.strptime('2020-02-04 00:00:00', '%Y-%m-%d %H:%M:%S')
我知道对于每种情况,我都可以使用计算完成时间
finishtime = starttine + datetime.datetime.timedelta(minutes = df.iloc[0,1])
我不知道如何在迭代 df 行并使用输出更新数据框中的第三列时使用它。
我试过了
df["FinishTime"] = np.nan
for row in df.itertuples():
df.at[row,"FinishTime"] = starttine + datetime.datetime.timedelta(minutes = row.Time)
但它给出了很多我无法解开的错误。我该怎么做?
我知道对数据框进行迭代的建议不是 - 我不致力于迭代,我只需要某种方法来计算最后一列并将其添加到数据框。我的真实数据大约是 20 万行。
【问题讨论】:
标签: python-3.x pandas datetime