Time_duration = df['period']
print (Time_duration)
0 23:59:56
1 23:59:56
2 23:59:55
3 23:59:53
4 23:59:52
...
74187 00:00:18
74188 00:00:09
74189 00:00:08
74190 00:00:03
74191 00:00:02
然后我如何在此添加新列,在其中我可以指定每个小时分组的单元格。例如,在00:00:00到00:59:59内的所有交易都以1填充,在01:00:00到01:59:59内的交易以2填充,依此类推直到23:00 :00到23:59:59以填充24。
0 23:59:56 24
1 23:59:56 24
2 23:59:55 24
3 23:59:53 24
4 23:59:52 24
...
74187 00:00:18 1
74188 00:00:09 1
74189 00:00:08 1
74190 00:00:03 1
74191 00:00:02 1
import datetime as dt
def hr_rt(t_str=str):
time = dt.datetime.strptime(t_str, "%H:%M:%S")
return time.hour + 1
df3['hr'] = df3.time.apply(hr_rt)
sr_no time hr
0 0 23:59:56 24
1 1 23:59:56 24
2 2 23:59:55 24
3 3 23:59:53 24
4 4 23:59:52 24
我想这应该有所帮助
确保列为Timedelta
,然后使用整数除以一小时。
#df['period'] = pd.to_timedelta(df['period'])
df['hour'] = (df['period'] // pd.Timedelta(hours=1)) + 1
period hour
0 23:59:56 24
1 23:59:56 24
2 23:59:55 24
3 23:59:53 24
4 23:59:52 24
5 00:00:18 1
6 00:00:09 1
7 00:00:08 1
8 00:00:03 1
9 00:00:02 1