Python 获取df中多个值的最小值和最大值
我有这个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=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]]}]