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
添加回答
舉報