2
我在我的數據框中有兩列。一列是日期(df [「Start_date]),另一列是天數。我想要減去天數列(df從日期列[ 「日」])在大熊貓數據框中從日期列中減去日期列
我試圖這樣
df["new_date"]=df["Start_date"]-datetime.timedelta(days=df["days"])
我在我的數據框中有兩列。一列是日期(df [「Start_date]),另一列是天數。我想要減去天數列(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
它是如何工作的? – jezrael
它工作得很好。謝謝。 –