我想把晚上21点的日期改到最后一个日期15点。
但15:00的最后日期不一定是1天前,有时是3天,有时是10天
表格:
date
0 2018-08-21 14:56:00
1 2018-08-21 14:57:00
2 2018-08-21 14:58:00
3 2018-08-21 14:59:00
4 2018-08-21 15:00:00
5 2018-08-22 21:01:00
6 2018-08-22 21:02:00
7 2018-08-22 21:03:00
8 2018-08-22 21:04:00
9 2018-08-22 21:05:00
晚上21点应该还是8月21日,不是8月22日
输入:
import pandas as pd
y=[
'2018-08-18 21:00:00',
'2018-08-18 21:03:00',
'2018-08-19 9:00:00',
'2018-08-19 15:00:00',
'2018-08-22 21:01:00',
'2018-08-22 21:02:00',
'2018-08-22 22:59:00',
'2018-08-22 23:00:00',
'2018-08-22 09:01:00',
'2018-08-22 09:02:00',
'2018-08-22 15:00:00',
'2018-08-25 21:01:00',
'2018-08-25 21:05:00',
'2018-08-25 09:01:00',
]
df=pd.DataFrame(y,columns=['date'])
df['date'] = pd.to_datetime(df['date'])
Python版本3.8.5Pandas版本1.1.3
2条答案
按热度按时间h79rfbju1#
用途:
另一个想法:
一个二个一个一个
编辑:
测试另一种解决方案:
n9vozmp42#
可以使用累积
Timedelta
:输出:
中间体(更复杂的示例):
可重现输入: