计算有效的日期添加(Python)

时间:2018-03-06 19:24:42

标签: python pandas

我有一个大约42,000,000行和6列的pandas数据帧。索引列是时间戳,并且存在datetime64类型的日期列(" data['settle']")。我尝试运行以下代码,以便在“假期”假日期间添加一个工作日。列返回" 1"。

for i in range(len(data['settle'])-1):
    if data['holiday'].iloc[i] == 1:
        data['settle'].iloc[i] = data['settle'].iloc[i] + pd.tseries.offsets.BDay(1)
    else:
        pass

唯一的问题是这需要很长时间才能返回任何东西(超过30分钟!)并且我在合适的硬件上运行它。我不能通过spark或类似解决方案将其拆分为更多硬件,因为这是一个企业环境。如何让这段代码更快地运行?

1 个答案:

答案 0 :(得分:1)

我认为可以通过.loc

完成
data.loc[data['holiday']==1,'settle'] += pd.tseries.offsets.BDay(1)