如何有条件地选择要显示的行

2024-09-30 10:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框:

Detection Location  Detection Date & Time   
CV234   22/09/2018 5:16:07 PM
CV23    23/09/2018 3:01:12 AM
CV23    23/09/2018 7:06:44 PM   
CV23    30/09/2018 9:52:35 PM   
CV23    23/09/2018 8:46:25 AM   
CV23    23/09/2018 10:52:54 AM  
CV23    23/09/2018 5:47:44 AM   
CV234   13/09/2018 6:16:58 PM   
CV23    8/09/2018 2:24:19 PM
CV23    9/09/2018 1:45:46 PM
CV234   7/09/2018 10:26:59 PM
CV23    8/09/2018 1:12:42 AM
CV23    8/09/2018 4:18:17 PM
CV23    7/09/2018 9:32:54 AM

我只想有条件地选取那些在1小时内有3个检测值的行。在那个小时内,检测位置列中应该有3个值。你知道吗


Tags: 数据datetimelocation条件am小时detection
1条回答
网友
1楼 · 发布于 2024-09-30 10:31:01

您需要将列转换为datetimes,然后使用^{}^{}^{}计算与原始DataFrame大小相同的序列的每小时值数,这样就可以按^{}进行筛选:

df['Detection Date & Time'] = pd.to_datetime(df['Detection Date & Time'])

s = df.resample('H',on='Detection Date & Time')['Detection Location'].transform('size')

df1 = df[s.sort_index() == 3]
print (df1)

相关问题 更多 >

    热门问题