我是一个有用的助手,可以为您翻译文本。
我有一个名为
我有一个名为
df
的Pandas数据帧,其中包含一个由datetime64
组成的列,例如:<class 'pandas.core.frame.DataFrame'>
Int64Index: 1471 entries, 0 to 2940
Data columns (total 2 columns):
date 1471 non-null values
id 1471 non-null values
dtypes: datetime64[ns](1), int64(1)
我想使用每天的小时数(与date
中的其他信息无关)作为标准来对df
进行子采样。例如,伪代码如下:
df_sub = df[ (HOUR(df.date) > 8) & (HOUR(df.date) < 20) ]
对于一些函数 HOUR
。
我猜想这个问题可以通过从datetime64
到 datetime
的初步转换来解决。 这个过程是否能够更有效地处理?
timestamps = pandas.date_range(start='2012-12-02 00:00:00', end='2012-12-03 23:00:00', freq='H')
,然后timestamps.hour
将返回Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], dtype='int64')
。 - Nikos Alexandris