Python 获取df中多个值的最小值和最大值

Python 获取df中多个值的最小值和最大值,python,python-3.x,pandas,list,dictionary,Python,Python 3.x,Pandas,List,Dictionary,我有这个df: df=pd.DataFrame({'stop_i':['stop_0','stop_0','stop_0','stop_1','stop_1','stop_0','stop_0'],'time':[0,10,15,50,60,195,205]}) 每条线路对应于公共汽车在站的时间(以秒为单位) 首先,我想计算在最后一次看到和下一次第一次看到之间,180秒的时间内,公共汽车停在stop\i的次数。结果将是{'stop_0':2,'stop_1':1},因为对于stop_0来说,最

我有这个df:

df=pd.DataFrame({'stop_i':['stop_0','stop_0','stop_0','stop_1','stop_1','stop_0','stop_0'],'time':[0,10,15,50,60,195,205]})
每条线路对应于公共汽车在
站的
时间(以秒为单位)

首先,我想计算在最后一次看到和下一次第一次看到之间,
180秒的时间内,公共汽车停在
stop\i
的次数。结果将是
{'stop_0':2,'stop_1':1}
,因为对于
stop_0
来说,最后一次看到它是在
15s
时,然后它再次出现在
195s
所以
195-15没有循环

  • 生成一个新列,该列是总线停止的时间集(假设索引是连续的)
  • 从这里得到第一次和最后一次。然后构建第一次/最后一次的列表。加上计算时间>180秒。这种逻辑似乎很奇怪。stop_1只有一次访问,因此必须在>180秒内计数1
  • 终于有你想要的字典了
  • 输出

    [{'stop_0': 2, 'stop_1': 1}] [{'stop_0': [[0, 15], [195, 205]], 'stop_1': [[50, 60]]}]
    
    禁止循环

  • 生成一个新列,该列是总线停止的时间集(假设索引是连续的)
  • 从这里得到第一次和最后一次。然后构建第一次/最后一次的列表。加上计算时间>180秒。这种逻辑似乎很奇怪。stop_1只有一次访问,因此必须在>180秒内计数1
  • 终于有你想要的字典了
  • 输出

    [{'stop_0': 2, 'stop_1': 1}] [{'stop_0': [[0, 15], [195, 205]], 'stop_1': [[50, 60]]}]