Python 从提取的分组数据生成新的数据帧
我是Python新手。我正试图从一系列GPS定位中提取行程持续时间。我试图从多个不同的轨道中获取信息,并将结果放入不同的数据帧中。数据如下所示(不包括纬度和经度列): 所需的输出如下所示:Python 从提取的分组数据生成新的数据帧,python,datetime,pandas,dataframe,Python,Datetime,Pandas,Dataframe,我是Python新手。我正试图从一系列GPS定位中提取行程持续时间。我试图从多个不同的轨道中获取信息,并将结果放入不同的数据帧中。数据如下所示(不包括纬度和经度列): 所需的输出如下所示: track_id trip_dur 0 track_1 0 days 23:00:00 1 track_2 0 days 14:00:10 2 track_3 1 days 00:00:01 我已经使用groupby成功地将这些信息作为一个系列生成,但
track_id trip_dur
0 track_1 0 days 23:00:00
1 track_2 0 days 14:00:10
2 track_3 1 days 00:00:01
我已经使用groupby
成功地将这些信息作为一个系列生成,但无法像我所期望的输出那样生成数据帧。如果可能的话,我想用一种更“pythonic”的方式
#Calculate trip durations
trip_dur = df.groupby(['track_id'], sort=False)['DateTime'].max() - \
df.groupby(['track_id'], sort=False)['DateTime'].min()
感谢您的帮助,
干杯 基本上,您可以使用
name
param调用reset\u index
来恢复“track\u id”列并命名聚合列:
In [44]:
(df.groupby('track_id')['DateTime'].max() - df.groupby('track_id')['DateTime'].min()).reset_index(name='trip_dur')
Out[44]:
track_id trip_dur
0 track_1 0 days 23:00:00
1 track_2 0 days 14:00:10
2 track_3 1 days 00:00:01
In [44]:
(df.groupby('track_id')['DateTime'].max() - df.groupby('track_id')['DateTime'].min()).reset_index(name='trip_dur')
Out[44]:
track_id trip_dur
0 track_1 0 days 23:00:00
1 track_2 0 days 14:00:10
2 track_3 1 days 00:00:01