Group by獲取總和,并重新合并df上的唯一值,而不重復: import pandas as pdimport numpy as npz = pd.DataFrame({'lat':[49.125,49.125], 'lon':[-114.125 ,-114.125 ], 'time':[np.datetime64('2005-08-09'),np.datetime64('2005-08-09')], 'duration':[3,6],'size':[4,10]}) # original datagp = z.groupby(['lat', 'lon','time'], as_index=False)[['size']].sum() # getting the sum of 'size' for unique combination of lat, lon, timedf = z.sort_values(by='duration', ascending=True).drop_duplicates(subset=['lat', 'lon','time'], keep='last') # dropping duplicatespd.merge(df[['lat', 'lon', 'time', 'duration']], gp, on=['lat', 'lon', 'time'])