Как добавить / вычесть фиксированное целое значение в поле даты в Pandas - PullRequest
4 голосов
/ 16 января 2020

У меня есть такой фрейм данных

Data.head(3)

SD          ED          Buffer  
12/1/2020   16/1/2020   3      
31/12/2019  12/1/2020   6      
4/2/2020    15/2/2020   4     

            Data.Dtypes
SD          object
ED          object
Buffer      float64

Я хочу создать два новых столбца:

Start_Buffer = SD + Buffer
Total_days =(ED-SD) + Buffer

Ожидаемый вывод

Start_Buffer     Total_Days
15/1/2020        7
6/1/2020         18
8/2/2020         15

Как это можно сделать, используя pandas.

1 Ответ

1 голос
/ 16 января 2020

Попробуйте это:

Data['ED'] = pd.to_datetime(Data.ED, dayfirst=True) #convert to datetime dtype
Data['SD'] = pd.to_datetime(Data.SD, dayfirst=True) #convert to datetime dtype

Buffer_days = pd.to_timedelta(Data.Buffer, unit='d')
Data['Start_Buffer'] = Data.SD + Buffer_days 
Data['Total_Days'] = (Data.ED - Data.SD + Buffer_days ).dt.days


Out[48]:
          SD         ED  Buffer Start_Buffer  Total_Days
0 2020-01-12 2020-01-16     3.0   2020-01-15           7
1 2019-12-31 2020-01-12     6.0   2020-01-06          18
2 2020-02-04 2020-02-15     4.0   2020-02-08          15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...