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

问题描述 投票:2回答:1

我有一个大约42,000,000行和6列的pandas数据帧。索引列是时间戳,并且存在datetime64类型的日期列(“data['settle']”)。我正在尝试运行以下代码,如果'holiday'列返回“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或类似解决方案将其拆分为更多硬件,因为这是一个企业环境。如何让这段代码更快地运行?

python pandas
1个回答
1
投票

我认为可以通过.loc完成

data.loc[data['holiday']==1,'settle'] += pd.tseries.offsets.BDay(1)
© www.soinside.com 2019 - 2024. All rights reserved.