0

我正在尝试从我的 df 中的时间列开始创建时隙,其结构如下:

artist_name;ms_played;track_name;...date;time;week_day
Taylor Swift;35260;Wildest Dreams;...;2021-01-25;07:55;0
Edward Sharpe & The Magnetic Zeros;...2021-01-25;15:34;0
.....

例如,早上 6 点到 8 点之间的所有时间,我希望它落在 6-8 的时间段内,以此类推。到目前为止,我很遗憾无法写任何东西,所以欢迎任何建议。感谢您的回复。

4

1 回答 1

0

您可以在以下代码的帮助下执行此操作:

import pandas as pd
df = pd.DataFrame({'name':['Taylor Swift','Edward Sharpe & The Magnetic Zeros'],'time':['7:55','15:34']})

def timeSlot(x):
    hr = pd.to_datetime(x).hour
    if hr == 23:
        upper = 0
        lower = hr-1
    elif hr == 0:
        upper = hr+1
        lower = 23
    else:
        upper = hr+1
        lower = hr-1
    return f'{lower}-{upper}'
df['slot'] = df['time'].apply(lambda x: timeSlot(x))
于 2022-02-02T12:07:24.010 回答