从大熊猫数据框中的日期列中减去白天列



我的数据框架中有两个列。一个列是date(df [start_date]),而其他列是天数。我想减去no of days列(df [df [''天"])从日期列。

我正在尝试这样的事情

df["new_date"]=df["Start_date"]-datetime.timedelta(days=df["days"])

我认为您需要to_timedelta

df["new_date"]=df["Start_date"]-pd.to_timedelta(df["days"], unit='D')

样本:

np.random.seed(120)
start = pd.to_datetime('2015-02-24')
rng = pd.date_range(start, periods=10)
df = pd.DataFrame({'Start_date': rng, 'days': np.random.choice(np.arange(10), size=10)})  
print (df)
  Start_date  days
0 2015-02-24     7
1 2015-02-25     0
2 2015-02-26     8
3 2015-02-27     4
4 2015-02-28     1
5 2015-03-01     7
6 2015-03-02     1
7 2015-03-03     3
8 2015-03-04     8
9 2015-03-05     9
df["new_date"]=df["Start_date"]-pd.to_timedelta(df["days"], unit='D')
print (df)
  Start_date  days   new_date
0 2015-02-24     7 2015-02-17
1 2015-02-25     0 2015-02-25
2 2015-02-26     8 2015-02-18
3 2015-02-27     4 2015-02-23
4 2015-02-28     1 2015-02-27
5 2015-03-01     7 2015-02-22
6 2015-03-02     1 2015-03-01
7 2015-03-03     3 2015-02-28
8 2015-03-04     8 2015-02-24
9 2015-03-05     9 2015-02-24

最新更新