gpt4 book ai didi

python - pandas 添加迄今为止的日期和基于另一列的天数

转载 作者:行者123 更新时间:2023-11-30 22:24:25 32 4
gpt4 key购买 nike

在 python 中,我的数据框如下:

date1 num
2017-03-02 8
2017-04-15 4
2017-06-30 1

我想要这样的结果数据框(添加日期2列):

date1 num date2
2017-03-02 8 2017-03-10
2017-04-15 4 2017-04-19
2017-06-30 1 2017-07-01

我知道:df.date1 +pd.offsets.Day(x),但是x不允许是Series。我知道 apply() 函数可能可以解决这个问题,但我的数据框的行数超过十亿。

那该怎么办?

最佳答案

您可以添加 to_timedelta 创建的timedeltas :

df['date2'] = df['date1'] + pd.to_timedelta(df['num'], unit='d')
print (df)
date1 num date2
0 2017-03-02 8 2017-03-10
1 2017-04-15 4 2017-04-19
2 2017-06-30 1 2017-07-01

如果想添加月份,请使用apply使用 axis=1 按行进行处理, dateoffset :

df['date3'] = df.apply(lambda x: x['date1'] + pd.offsets.DateOffset(months=x['num']), 1)
print (df)
date1 num date3
0 2017-03-02 8 2017-11-02
1 2017-04-15 4 2017-08-15
2 2017-06-30 1 2017-07-30

关于python - pandas 添加迄今为止的日期和基于另一列的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47829334/

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