给出以下数据集,这些数据集是我通过Panda从Excel文件中提取的:
[131124 rows x 2 columns]
date datetime64[ns]
places_occupees int64
dtype: object
是否有一种方法可以按一天中的小时对数据进行排序,而不管日期如何?
例如,我想在早上9点至10点之间获取所有数据。
您可以在下面找到数据集的样本。
答案 0 :(得分:0)
转换为日期时间pd.to_datetime(df['date'])
后,您可以创建一个包含小时的单独列,例如df['Hour'] = df.date.dt.hour
,然后按其排序
df.sort_values('Hour')
由于要按时间排序,而不是使用小时,请将时间戳部分放入“时间”列。为了获得9到10之间的时间,您可以按小时== 9进行过滤,然后按以下时间列进行排序
df['date'] = pd.to_datetime(df['date'])
#put the timestamp part of the datetime into a separate column
df['time'] = df['date'].dt.time
#filter by times between 9 and 10 and sort by timestamp
df.loc[df.date.dt.hour==9].sort_values('time')