Python 如何过滤数据帧,以便在特定时间每天出现一次
我的数据集有一个datetime列,在许多天中,每天每小时有一个条目。 例如:Python 如何过滤数据帧,以便在特定时间每天出现一次,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我的数据集有一个datetime列,在许多天中,每天每小时有一个条目。 例如: 123412,2020-03-26 12:00, 123412,2020-03-27 12:00, 123412,2020-03-27 09:00, 123412,2020-03-27 09:00, 123412,2020-03-27 15:00, 123412,2020-03-26 15:00, 123412,2020-03-27 11:00, 123412,2020-03-27 12:00, 这个例子不是有序的
123412,2020-03-26 12:00,
123412,2020-03-27 12:00,
123412,2020-03-27 09:00,
123412,2020-03-27 09:00,
123412,2020-03-27 15:00,
123412,2020-03-26 15:00,
123412,2020-03-27 11:00,
123412,2020-03-27 12:00,
这个例子不是有序的,但正如我所说的,一天中每小时都有一个条目
我想过滤这些数据的方法是,例如,取datetime2020-03-26 12:00
。
然后,过滤器将返回以下行:
- 2020-03-26 12:00
- 2020-03-25 12:00
- 2020-03-24 12:00
Grouper
df2=df2.groupby(pd.Grouper(key=DATETIME,freq='D'))
,但没有成功
我怎样才能做到这一点?谢谢您您可以按时间和过滤日期时间: 如果只需要唯一的日期时间:
d = '2020-03-26 12:00'
df = df.drop_duplicates('date')
df = df[df['date'].dt.time.eq(pd.Timestamp(d).time())]
print (df)
a date b
0 123412 2020-03-26 12:00:00 NaN
1 123412 2020-03-27 12:00:00 NaN
d = '2020-03-26 12:00'
df = df.drop_duplicates('date')
df = df[df['date'].dt.time.eq(pd.Timestamp(d).time())]
print (df)
a date b
0 123412 2020-03-26 12:00:00 NaN
1 123412 2020-03-27 12:00:00 NaN