#python-3.x #pandas #dataframe
#python-3.x #pandas #фрейм данных
Вопрос:
Здравствуйте, мне нужно получить дату до 30 дней, она приходит в этом формате даты и времени.
10/15/2020 4:34:27 AM 1970-01-01
10/15/2020 5:09:32 PM 1970-01-01
10/15/2020 5:01:32 PM 1970-01-01
10/15/2020 5:05:32 PM 1970-01-01
10/15/2020 5:03:32 PM 1970-01-01
Комментарии:
1. приведите строки даты и времени, используя
pd.to_datetime
: см. : pandas.pydata.org/pandas-docs/stable/reference/api /…
Ответ №1:
Вы можете использовать pd.to_timedelta
, например:
In [1265]: df = pd.DataFrame({'Date': ['10/15/2020 4:34:27 AM', '10/15/2020 5:09:32 PM', '10/15/2020 5:01:32 PM', '10/15/2020 5:05:32 PM', '10/15/2020 5:03:32 PM']})
In [1266]: df
Out[1266]:
Date
0 10/15/2020 4:34:27 AM
1 10/15/2020 5:09:32 PM
2 10/15/2020 5:01:32 PM
3 10/15/2020 5:05:32 PM
4 10/15/2020 5:03:32 PM
In [1273]: df.Date = pd.to_datetime(df.Date)
In [1274]: df['subtracted_date'] = df['Date'] - pd.to_timedelta(30, unit='d')
In [1275]: df
Out[1275]:
Date subtracted_date
0 2020-10-15 04:34:27 2020-09-15 04:34:27
1 2020-10-15 17:09:32 2020-09-15 17:09:32
2 2020-10-15 17:01:32 2020-09-15 17:01:32
3 2020-10-15 17:05:32 2020-09-15 17:05:32
4 2020-10-15 17:03:32 2020-09-15 17:03:32