gpt4 book ai didi

python - 如何添加根据现有日期列和标准列计算的数据框日期列?

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:49 25 4
gpt4 key购买 nike

我有以下数据框。
日期是 dtype='datetime64[ns, UTC]'

    announce_date  announce_time
0 2013-01-23 After Market Close
1 2013-04-23 Before Market Open
2 2013-07-20 After Market Close

如何创建一个新的偏移列
如果 announce_time“After Market Close”,则 announce_date 减 1。

    announce_date  announce_time          impact_date
0 2013-01-23 After Market Close 2013-01-24
1 2013-04-23 Before Market Open 2013-04-23
2 2013-07-20 After Market Close 2013-07-21

我可以做一个偏移日期列,但还不知道如何应用条件。

import pandas as pd

df['impact_date'] = df['announce_date'] + pd.DateOffset(days=1)

最佳答案

生成一个 bool 掩码并使用 pd.to_timedelta 从中生成偏移量。

# Convert "announce_date" to datetime if not already done.
# df['announce_date'] = pd.to_datetime(df['announce_date'], errors='coerce')
# Now calculate the offset.
offset = pd.to_timedelta(
df['announce_time'].eq("After Market Close").astype(int), unit='D')
df['impact_date'] = df['announce_date'] + offset

print(df)
announce_date announce_time impact_date
0 2013-01-23 After Market Close 2013-01-24
1 2013-04-23 Before Market Open 2013-04-23
2 2013-07-20 After Market Close 2013-07-21

关于python - 如何添加根据现有日期列和标准列计算的数据框日期列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com