1 回答
TA贡献1856条经验 获得超17个赞
你可以做这样的事情来得到你的结果
df = pd.DataFrame(df.groupby(['DATE','NAME'])
.agg({'TIME':['min','max']})
.rename(columns={'min':'TIME1','max':'TIME2'})).reset_index()
print (df)
或者:
df = (df.groupby(['DATE','NAME'])
.agg({'TIME':['min','max']})
.rename(columns={'min':'TIME1','max':'TIME2'})).reset_index()
print (df)
这将导致
DATE NAME TIME
TIME1 TIME2
0 2020-09-01 Name 1 09:01:16 17:05:34
1 2020-09-01 Name 2 10:25:14 18:03:55
您还可以按如下方式完成相同的操作:
df = df.groupby(['DATE','NAME']).agg(TIME1=pd.NamedAgg(column='TIME', aggfunc='min'),
TIME2=pd.NamedAgg(column='TIME', aggfunc='max'))
print (df)
输出将是:
TIME1 TIME2
DATE NAME
2020-09-01 Name 1 09:01:16 17:05:34
Name 2 10:25:14 18:03:55
添加回答
举报