Фильтрация фреймов данных Pandas по датам

#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