如何按天对日期进行分组并在 pandas 数据框或 python 中找到最小值和最大值
How to group date by day and find min and max value in pandas data frame or python
Two event columns dtb(start time) dte(stop time)
在图像中有两列,我想按天分组,获取 min(time) 作为当天事件的开始,并获取 max(time) 作为当天事件的停止。I want like this
我会尽量按照我的理解来回答。
假设您的列 dtb
和 dte
是 datetime
格式:
df['date'] = df.dtb.dt.date
df['dtb'] = df.dtb.dt.time
df['dte'] = df.dte.dt.time
result = df.groupby('date').agg({'dtb': np.max,
'dte': np.min})
print(result)
我所做的是用日期创建一个新列,并重新格式化 dtb
和 dte
列以仅获取时间,然后按日期分组,取最大值和最小值dtb
和 dte
您甚至可以使用以下语法直接按天或按周分组
dg_bydate= df.groupby(pd.Grouper(key='dtb', freq='1D')).agg({'dte':[np.min, np.max]})
Two event columns dtb(start time) dte(stop time)
在图像中有两列,我想按天分组,获取 min(time) 作为当天事件的开始,并获取 max(time) 作为当天事件的停止。I want like this
我会尽量按照我的理解来回答。
假设您的列 dtb
和 dte
是 datetime
格式:
df['date'] = df.dtb.dt.date
df['dtb'] = df.dtb.dt.time
df['dte'] = df.dte.dt.time
result = df.groupby('date').agg({'dtb': np.max,
'dte': np.min})
print(result)
我所做的是用日期创建一个新列,并重新格式化 dtb
和 dte
列以仅获取时间,然后按日期分组,取最大值和最小值dtb
和 dte
您甚至可以使用以下语法直接按天或按周分组
dg_bydate= df.groupby(pd.Grouper(key='dtb', freq='1D')).agg({'dte':[np.min, np.max]})